SRC_URI = " \
git://git.code.sf.net/p/openpli/gst-plugin-dvbmediasink;protocol=git;branch=gst-1.0 \
- file://gstreamer10_dvbmediasink_vuplus.patch \
file://dvbmediasink_h265.patch \
file://audiosink_change_message_mode_to_sync.diff \
+ file://dvbmediasink_divx4.patch \
"
#SRCREV = "${AUTOREV}"
-SRCREV = "1e99787f3387d3dd1e6167af73597674bf8fe37d"
+SRCREV = "e83973478549ecb52067f30a3537b590d83401d6"
S = "${WORKDIR}/git"
PV = "${GSTVERSION}+git${SRCPV}"
PKGV = "${GSTVERSION}+git${GITPKGV}"
-PR = "r3"
+PR = "r4"
inherit autotools pkgconfig
--- /dev/null
+diff --git a/gstdvbvideosink.c b/gstdvbvideosink.c
+index 61478f5..f50929e 100644
+--- a/gstdvbvideosink.c
++++ b/gstdvbvideosink.c
+@@ -306,7 +306,6 @@ static void gst_dvbvideosink_class_init(GstDVBVideoSinkClass *self)
+ gstbasesink_class->unlock = GST_DEBUG_FUNCPTR (gst_dvbvideosink_unlock);
+ gstbasesink_class->unlock_stop = GST_DEBUG_FUNCPTR (gst_dvbvideosink_unlock_stop);
+ gstbasesink_class->set_caps = GST_DEBUG_FUNCPTR (gst_dvbvideosink_set_caps);
+-
+ element_class->change_state = GST_DEBUG_FUNCPTR (gst_dvbvideosink_change_state);
+
+ gst_dvb_videosink_signals[SIGNAL_GET_DECODER_TIME] =
+@@ -1633,6 +1632,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:
+++ /dev/null
-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: