dvbmediasink : support DDP patch.
authorhschang <chang@dev3>
Mon, 2 Sep 2013 04:55:33 +0000 (13:55 +0900)
committerhschang <chang@dev3>
Mon, 2 Sep 2013 09:43:04 +0000 (18:43 +0900)
meta-openvuplus/recipes-multimedia/gstreamer/gst-plugin-dvbmediasink/fix_dvbaudiosink_support_ddp.patch [new file with mode: 0755]
meta-openvuplus/recipes-multimedia/gstreamer/gst-plugin-dvbmediasink_0.10.bb

diff --git a/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugin-dvbmediasink/fix_dvbaudiosink_support_ddp.patch b/meta-openvuplus/recipes-multimedia/gstreamer/gst-plugin-dvbmediasink/fix_dvbaudiosink_support_ddp.patch
new file mode 100755 (executable)
index 0000000..e4ee126
--- /dev/null
@@ -0,0 +1,54 @@
+diff --git a/src/gstdvbaudiosink.c b/src/gstdvbaudiosink.c
+index 15f020f..63978a4 100644
+--- a/src/gstdvbaudiosink.c
++++ b/src/gstdvbaudiosink.c
+@@ -198,7 +198,9 @@ GST_STATIC_PAD_TEMPLATE (
+               X_RAW_INT(32,32)
+               "audio/mpeg; "
+               "audio/x-ac3; "
++              "audio/x-eac3; "
+               "audio/x-private1-ac3; "
++              "audio/x-private1-eac3; "
+               "audio/x-dts; "
+               "audio/x-private1-dts; "
+               "audio/x-private1-lpcm; "
+@@ -345,6 +347,7 @@ gst_dvbaudiosink_acceptcaps (GstPad * pad, GstCaps * caps)
+               if (!strcmp(type, "audio/mpeg") ||
+                   !strcmp(type, "audio/x-ac3") ||
++                  !strcmp(type, "audio/x-eac3") ||
+ //                !strcmp(type, "audio/x-private1-ac3") ||
+ //                !strcmp(type, "audio/x-private1-lpcm") ||
+ //                !strcmp(type, "audio/x-wma") ||
+@@ -844,6 +847,10 @@ gst_dvbaudiosink_set_caps (GstBaseSink * basesink, GstCaps * caps)
+               GST_INFO_OBJECT (self, "MIMETYPE %s",type);
+               bypass = 0;
+       }
++      else if (!strcmp(type, "audio/x-eac3")) {
++              GST_INFO_OBJECT (self, "MIMETYPE %s",type);
++              bypass = 0x22;
++      }
+       else if (!strcmp(type, "audio/x-private1-dts")) {
+               GST_INFO_OBJECT (self, "MIMETYPE %s (DVD Audio - 2 byte skipping)",type);
+               bypass = 2;
+@@ -854,6 +861,11 @@ gst_dvbaudiosink_set_caps (GstBaseSink * basesink, GstCaps * caps)
+               bypass = 0;
+               self->skip = 2;
+       }
++      else if (!strcmp(type, "audio/x-private1-eac3")) {
++              GST_INFO_OBJECT (self, "MIMETYPE %s (DVD Audio - 2 byte skipping)",type);
++              bypass = 0x22;
++              self->skip = 2;
++      }
+       else if (!strcmp(type, "audio/x-private1-lpcm")) {
+               GST_INFO_OBJECT (self, "MIMETYPE %s (DVD Audio)",type);
+               bypass = 6;
+@@ -1248,7 +1260,7 @@ gst_dvbaudiosink_render (GstBaseSink * sink, GstBuffer * buffer)
+                       self->timestamp = timestamp;
+               else
+                       timestamp = self->timestamp;
+-              if (self->bypass < 0xd)
++              if (self->bypass < 0xd || self->bypass == 0x22)
+                       self->timestamp += duration;
+       }
+       else
index 5b3b96c..f2a3eda 100644 (file)
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://src/gstdvbaudiosink.c;beginline=1;endline=45;md5=023e
 DEPENDS = "gstreamer gst-plugins-base"
 BRANCH="master"
 SRCREV="91738211ef106ae7d14c1ccc5c4dd26c0f2dbf58"
-PR = "r9"
+PR = "r10"
 
 inherit autotools pkgconfig git-project
 SRC_URI = "git://schwerkraft.elitedvb.net/dvbmediasink/dvbmediasink.git;protocol=git;branch=${BRANCH};tag=${SRCREV}"
@@ -15,6 +15,7 @@ SRC_URI = "git://schwerkraft.elitedvb.net/dvbmediasink/dvbmediasink.git;protocol
 SRC_URI_append_vuplus = " \
                 file://fix_dvbaudiosink_async_opt.patch;patch=1;pnum=1 \
                 file://fix_dvbvideosink_dm8000_padtemplate.patch;patch=1;pnum=1 \
+                file://fix_dvbaudiosink_support_ddp.patch \
                 "
 
 FILES_${PN} = "${libdir}/gstreamer-0.10/*.so"