xine-lib 1.2.11
real_common.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2000-2018 the xine project
3 *
4 * This file is part of xine, a free video player.
5 *
6 * xine is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * xine is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
19 *
20 * Common function for the thin layer to use Real binary-only codecs in xine
21 */
22
23#ifndef __REAL_COMMON_H__
24#define __REAL_COMMON_H__
25
26#include <xine/xine_internal.h>
27
28/*
29 * some fake functions to make real codecs happy
30 * These are, on current date (20070316) needed only for Alpha
31 * codecs.
32 * As they are far from being proper replacements, define them only there
33 * until new codecs are available there too.
34 */
35#ifdef __alpha__
36
37void *__builtin_new(size_t size);
38void __builtin_delete (void *foo);
39void *__builtin_vec_new(size_t size) EXPORTED;
40void __builtin_vec_delete(void *mem) EXPORTED;
41void __pure_virtual(void) EXPORTED;
42
43#endif
44
45#ifndef HAVE___ENVIRON
46# ifdef HAVE__ENVIRON
47 char **__environ __attribute__((weak, alias("_environ")));
48# elif defined(HAVE_ENVIRON)
49 char **__environ __attribute__((weak, alias("environ")));
50# else
51 char **fake__environ = { NULL };
52 char **__environ __attribute__((weak, alias("fake__environ")));
53# endif
54#endif
55
56#ifndef HAVE_STDERR
57# ifdef HAVE___STDERRP
58# undef stderr
59FILE *stderr __attribute__((weak, alias("__stderrp")));
60# else
61# error Your stderr alias is not supported, please report to xine developers.
62# endif
63#endif
64
65#ifndef HAVE____BRK_ADDR
66void ___brk_addr(void) EXPORTED;
67#endif
68
69#ifndef HAVE___CTYPE_B
70void __ctype_b(void) EXPORTED;
71#endif
72
73void _x_real_codecs_init(xine_t *const xine);
74void *_x_real_codec_open(xine_stream_t *const stream, const char *const path,
75 const char *const codec_name,
76 const char *const codec_alternate);
77
79void *init_realvdec (xine_t *xine, const void *data);
80
82void *init_realadec (xine_t *xine, const void *data);
83
84#endif
#define EXPORTED
Definition: configure.h:72
void * _x_real_codec_open(xine_stream_t *const stream, const char *const path, const char *const codec_name, const char *const codec_alternate)
Definition: real_common.c:158
void _x_real_codecs_init(xine_t *const xine)
Definition: real_common.c:71
void __ctype_b(void) EXPORTED
Definition: real_common.c:68
const decoder_info_t dec_info_realvideo
Definition: xine_real_video_decoder.c:547
char ** fake__environ
Definition: real_common.h:51
const decoder_info_t dec_info_realaudio
Definition: xine_real_audio_decoder.c:521
char **__environ __attribute__((weak, alias("fake__environ")))
void * init_realadec(xine_t *xine, const void *data)
Definition: xine_real_audio_decoder.c:501
void ___brk_addr(void) EXPORTED
Definition: real_common.c:64
void * init_realvdec(xine_t *xine, const void *data)
Definition: xine_real_video_decoder.c:527
Definition: xine_plugin.h:77
Definition: xine_internal.h:80
Definition: xine_internal.h:123
NULL
Definition: xine_plugin.c:78