increase dvbapp PR
[vuplus_openvuplus] / meta-openvuplus / recipes-vuplus / tuxtxt / tuxbox-libtuxtxt / allow_different_demux.diff
1 diff -u libs/libtuxtxt_orig/libtuxtxt.c libs/libtuxtxt/libtuxtxt.c
2 --- libs/libtuxtxt_orig/libtuxtxt.c     2009-01-29 21:21:08.000000000 +0100
3 +++ libs/libtuxtxt/libtuxtxt.c  2009-01-29 21:26:49.000000000 +0100
4 @@ -65,6 +65,13 @@
5         tuxtxt_cache.thread_id = 0;
6         tuxtxt_cache.dmx = -1;
7         pthread_mutex_unlock(&tuxtxt_control_lock);
8 +
9 +#if HAVE_DVB_API_VERSION < 3
10 +       strcpy(tuxtxt_cache.demux, "/dev/dvb/card0/demux0");
11 +#else
12 +       strcpy(tuxtxt_cache.demux, "/dev/dvb/adapter0/demux0");
13 +#endif
14 +
15         return 1;//tuxtxt_init_demuxer();
16  }
17  
18 @@ -82,7 +89,7 @@
19         pthread_mutex_unlock(&tuxtxt_control_lock);
20         return res;
21  }
22 -int tuxtxt_start(int tpid)
23 +int tuxtxt_start(int tpid, int demux)
24  {
25         int ret = 1;
26         pthread_mutex_lock(&tuxtxt_control_lock);
27 @@ -92,10 +99,26 @@
28                 tuxtxt_clear_cache();
29                 tuxtxt_cache.page = 0x100;
30                 tuxtxt_cache.vtxtpid = tpid;
31 +               if (demux >= 0)
32 +               {
33 +#if HAVE_DVB_API_VERSION < 3
34 +                       snprintf(tuxtxt_cache.demux, 64, "/dev/dvb/card0/demux%d", demux);
35 +#else
36 +                       snprintf(tuxtxt_cache.demux, 64, "/dev/dvb/adapter0/demux%d", demux);
37 +#endif
38 +               }
39                 ret = tuxtxt_start_thread();
40         }
41         else if (!tuxtxt_cache.thread_starting && !tuxtxt_cache.receiving)
42         {
43 +               if (demux >= 0)
44 +               {
45 +#if HAVE_DVB_API_VERSION < 3
46 +                       snprintf(tuxtxt_cache.demux, 64, "/dev/dvb/card0/demux%d", demux);
47 +#else
48 +                       snprintf(tuxtxt_cache.demux, 64, "/dev/dvb/adapter0/demux%d", demux);
49 +#endif
50 +               }
51                 ret = tuxtxt_start_thread();
52         }
53         pthread_mutex_unlock(&tuxtxt_control_lock);
54 diff -u libs/libtuxtxt_orig/tuxtxt_common.h libs/libtuxtxt/tuxtxt_common.h
55 --- libs/libtuxtxt_orig/tuxtxt_common.h 2009-01-29 21:24:32.000000000 +0100
56 +++ libs/libtuxtxt/tuxtxt_common.h      2009-01-29 21:26:49.000000000 +0100
57 @@ -1751,9 +1751,9 @@
58         if (tuxtxt_cache.dmx != -1)
59         {
60                 ioctl(tuxtxt_cache.dmx, DMX_STOP);
61 -//        close(tuxtxt_cache.dmx);
62 -       }
63 -//     tuxtxt_cache.dmx = -1;
64 +               close(tuxtxt_cache.dmx);
65 +       }
66 +       tuxtxt_cache.dmx = -1;
67  #if 1//DEBUG
68         printf("TuxTxt stopped service %x\n", tuxtxt_cache.vtxtpid);
69  #endif
70 diff -u libs/libtuxtxt_orig/tuxtxt_def.h libs/libtuxtxt/tuxtxt_def.h
71 --- libs/libtuxtxt_orig/tuxtxt_def.h    2009-01-29 21:19:23.000000000 +0100
72 +++ libs/libtuxtxt/tuxtxt_def.h 2009-01-29 21:26:49.000000000 +0100
73 @@ -19,12 +19,12 @@
74   #define pes_type pesType
75   #define dmx_sct_filter_params dmxSctFilterParams
76   #include <ost/dmx.h>
77 - #define DMX "/dev/dvb/card0/demux0"
78  #else
79   #include <linux/dvb/dmx.h>
80 - #define DMX "/dev/dvb/adapter0/demux0"
81  #endif
82  
83 +#define DMX tuxtxt_cache.demux
84 +
85  #include <ft2build.h>
86  #include FT_FREETYPE_H
87  #include FT_CACHE_H
88 @@ -325,6 +325,7 @@
89         short flofpages[0x900][FLOFSIZE];
90         unsigned char adip[0x900][13];
91         unsigned char subpagetable[0x900];
92 +       char demux[64];
93         int dmx;
94         int vtxtpid;
95         int cached_pages, page, subpage, pageupdate,page_receiving, current_page[9], current_subpage[9];