summaryrefslogtreecommitdiff
path: root/xineCommon.h
blob: ed5fe9dc7db4f88dd0362a3ebf74281ca88936a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

#ifndef __XINECOMMON_H
#define __XINECOMMON_H



#include <assert.h>
#include <math.h>
#include <signal.h>

#define __STDC_FORMAT_MACROS
#include <inttypes.h>

#include <string>
using namespace std;

#include <xine.h>
#include <xine/vdr.h>

#define MIN_XINE_VDR_VERSION 901

#if !defined(XINE_VDR_VERSION) || XINE_VDR_VERSION < MIN_XINE_VDR_VERSION
#error xine/vdr.h does not match. Please solve this issue by reading section XINE VDR VERSION MISMATCH in INSTALL!
#endif

#include <vdr/config.h>  // poisened

#ifndef APIVERSNUM
#define APIVERSNUM VDRVERSNUM
#endif



namespace PluginXine
{
  extern bool beQuiet;

  template <class DST_TYPE, class SRC_TYPE>
    DST_TYPE &alias_cast(SRC_TYPE &rhs)
  {
    union hlp
    {
      SRC_TYPE src;
      DST_TYPE dst;
    };

    return ((hlp &)rhs).dst;
  }
};

#define xfprintf(fh, fmt, args...)   \
  while (!PluginXine::beQuiet)       \
  {                                  \
    fprintf(fh, fmt, ##args);        \
    /* char xfmt[ 500 ]; */          \
    /* sprintf(xfmt, "%s", fmt); */  \
    /* fprintf(fh, xfmt, ##args); */ \
    break;                           \
  }



#endif //__XINECOMMON_H