[gstreamer] Fix directory gstreamer1.0 to gstreamer.
[vuplus_openvuplus_3.0] / meta-openvuplus / recipes-multimedia / gstreamer / gstreamer1.0-plugin-dvbmediasink / gstreamer10_dvbmediasink_vuplus.patch
diff --git a/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink/gstreamer10_dvbmediasink_vuplus.patch b/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink/gstreamer10_dvbmediasink_vuplus.patch
new file mode 100644 (file)
index 0000000..3de4791
--- /dev/null
@@ -0,0 +1,52 @@
+diff --git a/gstdvbaudiosink.c b/gstdvbaudiosink.c
+index 2b87caa..afd5fb6 100644
+--- a/gstdvbaudiosink.c
++++ b/gstdvbaudiosink.c
+@@ -270,7 +270,9 @@ static void gst_dvbaudiosink_class_init(GstDVBAudioSinkClass *self)
+       gstbasesink_class->event = GST_DEBUG_FUNCPTR(gst_dvbaudiosink_event);
+       gstbasesink_class->unlock = GST_DEBUG_FUNCPTR(gst_dvbaudiosink_unlock);
+       gstbasesink_class->unlock_stop = GST_DEBUG_FUNCPTR(gst_dvbaudiosink_unlock_stop);
++#if GST_VERSION_MAJOR < 1
+       gstbasesink_class->set_caps = GST_DEBUG_FUNCPTR(gst_dvbaudiosink_set_caps);
++#endif
+       gstbasesink_class->get_caps = GST_DEBUG_FUNCPTR(gst_dvbaudiosink_get_caps);
+       element_class->change_state = GST_DEBUG_FUNCPTR(gst_dvbaudiosink_change_state);
+@@ -425,6 +427,11 @@ static gboolean gst_dvbaudiosink_set_caps(GstBaseSink *basesink, GstCaps *caps)
+       const char *type = gst_structure_get_name(structure);
+       t_audio_type bypass = AUDIOTYPE_UNKNOWN;
++      if (self->bypass != AUDIOTYPE_UNKNOWN) {
++              GST_INFO_OBJECT (self, "skip set_caps, should be done only once.");
++              return TRUE;
++      }
++
+       self->skip = 0;
+       self->aac_adts_header_valid = FALSE;
+diff --git a/gstdvbvideosink.c b/gstdvbvideosink.c
+index fbebd11..657006e 100644
+--- a/gstdvbvideosink.c
++++ b/gstdvbvideosink.c
+@@ -299,8 +299,9 @@ static void gst_dvbvideosink_class_init(GstDVBVideoSinkClass *self)
+       gstbasesink_class->event = GST_DEBUG_FUNCPTR (gst_dvbvideosink_event);
+       gstbasesink_class->unlock = GST_DEBUG_FUNCPTR (gst_dvbvideosink_unlock);
+       gstbasesink_class->unlock_stop = GST_DEBUG_FUNCPTR (gst_dvbvideosink_unlock_stop);
++#if GST_VERSION_MAJOR < 1
+       gstbasesink_class->set_caps = GST_DEBUG_FUNCPTR (gst_dvbvideosink_set_caps);
+-
++#endif
+       element_class->change_state = GST_DEBUG_FUNCPTR (gst_dvbvideosink_change_state);
+       gst_dvb_videosink_signals[SIGNAL_GET_DECODER_TIME] =
+@@ -1556,6 +1557,10 @@ static gboolean gst_dvbvideosink_set_caps(GstBaseSink *basesink, GstCaps *caps)
+                                       gst_buffer_ref (self->codec_data);
+                               }
+                               GST_INFO_OBJECT (self, "MIMETYPE video/x-divx vers. 4 -> STREAMTYPE_MPEG4_Part2");
++#if GST_VERSION_MAJOR >= 1
++                              self->use_dts = TRUE;
++#endif
++
+                       break;
+                       case 6:
+                       case 5: