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 (
10 "audio/x-private1-ac3; "
11 + "audio/x-private1-eac3; "
13 "audio/x-private1-dts; "
14 "audio/x-private1-lpcm; "
15 @@ -345,6 +347,7 @@ gst_dvbaudiosink_acceptcaps (GstPad * pad, GstCaps * caps)
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);
27 + else if (!strcmp(type, "audio/x-eac3")) {
28 + GST_INFO_OBJECT (self, "MIMETYPE %s",type);
31 else if (!strcmp(type, "audio/x-private1-dts")) {
32 GST_INFO_OBJECT (self, "MIMETYPE %s (DVD Audio - 2 byte skipping)",type);
34 @@ -854,6 +861,11 @@ gst_dvbaudiosink_set_caps (GstBaseSink * basesink, GstCaps * caps)
38 + else if (!strcmp(type, "audio/x-private1-eac3")) {
39 + GST_INFO_OBJECT (self, "MIMETYPE %s (DVD Audio - 2 byte skipping)",type);
43 else if (!strcmp(type, "audio/x-private1-lpcm")) {
44 GST_INFO_OBJECT (self, "MIMETYPE %s (DVD Audio)",type);
46 @@ -1248,7 +1260,7 @@ gst_dvbaudiosink_render (GstBaseSink * sink, GstBuffer * buffer)
47 self->timestamp = timestamp;
49 timestamp = self->timestamp;
50 - if (self->bypass < 0xd)
51 + if (self->bypass < 0xd || self->bypass == 0x22)
52 self->timestamp += duration;