dvbmediasink : support DDP patch.
[vuplus_openvuplus_3.0] / meta-openvuplus / recipes-multimedia / gstreamer / gst-plugin-dvbmediasink / fix_dvbaudiosink_support_ddp.patch
1 diff --git a/src/gstdvbaudiosink.c b/src/gstdvbaudiosink.c
2 index 15f020f..63978a4 100644
3 --- a/src/gstdvbaudiosink.c
4 +++ b/src/gstdvbaudiosink.c
5 @@ -198,7 +198,9 @@ GST_STATIC_PAD_TEMPLATE (
6                 X_RAW_INT(32,32)
7                 "audio/mpeg; "
8                 "audio/x-ac3; "
9 +               "audio/x-eac3; "
10                 "audio/x-private1-ac3; "
11 +               "audio/x-private1-eac3; "
12                 "audio/x-dts; "
13                 "audio/x-private1-dts; "
14                 "audio/x-private1-lpcm; "
15 @@ -345,6 +347,7 @@ gst_dvbaudiosink_acceptcaps (GstPad * pad, GstCaps * caps)
16  
17                 if (!strcmp(type, "audio/mpeg") ||
18                     !strcmp(type, "audio/x-ac3") ||
19 +                   !strcmp(type, "audio/x-eac3") ||
20  //                 !strcmp(type, "audio/x-private1-ac3") ||
21  //                 !strcmp(type, "audio/x-private1-lpcm") ||
22  //                 !strcmp(type, "audio/x-wma") ||
23 @@ -844,6 +847,10 @@ gst_dvbaudiosink_set_caps (GstBaseSink * basesink, GstCaps * caps)
24                 GST_INFO_OBJECT (self, "MIMETYPE %s",type);
25                 bypass = 0;
26         }
27 +       else if (!strcmp(type, "audio/x-eac3")) {
28 +               GST_INFO_OBJECT (self, "MIMETYPE %s",type);
29 +               bypass = 0x22;
30 +       }
31         else if (!strcmp(type, "audio/x-private1-dts")) {
32                 GST_INFO_OBJECT (self, "MIMETYPE %s (DVD Audio - 2 byte skipping)",type);
33                 bypass = 2;
34 @@ -854,6 +861,11 @@ gst_dvbaudiosink_set_caps (GstBaseSink * basesink, GstCaps * caps)
35                 bypass = 0;
36                 self->skip = 2;
37         }
38 +       else if (!strcmp(type, "audio/x-private1-eac3")) {
39 +               GST_INFO_OBJECT (self, "MIMETYPE %s (DVD Audio - 2 byte skipping)",type);
40 +               bypass = 0x22;
41 +               self->skip = 2;
42 +       }
43         else if (!strcmp(type, "audio/x-private1-lpcm")) {
44                 GST_INFO_OBJECT (self, "MIMETYPE %s (DVD Audio)",type);
45                 bypass = 6;
46 @@ -1248,7 +1260,7 @@ gst_dvbaudiosink_render (GstBaseSink * sink, GstBuffer * buffer)
47                         self->timestamp = timestamp;
48                 else
49                         timestamp = self->timestamp;
50 -               if (self->bypass < 0xd)
51 +               if (self->bypass < 0xd || self->bypass == 0x22)
52                         self->timestamp += duration;
53         }
54         else