WebKit Bugzilla
Attachment 340510 Details for
Bug 185689
: [GStreamer] Update to GStreamer 1.14.1 in jhbuild
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Fix mixup with patches.
GStreamer-Update-to-GStreamer-1140-in-jhbuild.patch (text/plain), 27.34 KB, created by
Thibault Saunier
on 2018-05-16 11:58:43 PDT
(
hide
)
Description:
Fix mixup with patches.
Filename:
MIME Type:
Creator:
Thibault Saunier
Created:
2018-05-16 11:58:43 PDT
Size:
27.34 KB
patch
obsolete
>From 994edc82e36d0c0473292b037c11816c375f6dd6 Mon Sep 17 00:00:00 2001 >From: Thibault Saunier <tsaunier@igalia.com> >Date: Thu, 12 Apr 2018 09:56:30 -0300 >Subject: [PATCH xserver] [GStreamer] Update to GStreamer 1.14.0 in jhbuild > >And update the patches, removing the ones that have been merged upstream. > >https://bugs.webkit.org/show_bug.cgi?id=185689 >--- > Tools/ChangeLog | 17 ++++ > Tools/gstreamer/jhbuild.modules | 33 ++++---- > ...ufdec-stop-pretending-to-decode-gifs.patch | 30 -------- > ...ookie-jar-and-context-query-support.patch} | 46 +++++------ > ...-context-for-a-preferred-protection.patch} | 43 ++++++----- > ...-buffers-without-encryption-info-in.patch} | 16 ++-- > ...assert-when-moof-contains-one-sample.patch | 31 -------- > ...-added-function-to-filter-system-ids.patch | 77 ------------------- > 8 files changed, 85 insertions(+), 208 deletions(-) > delete mode 100644 Tools/gstreamer/patches/gst-plugins-good-0001-gstgdkpixbufdec-stop-pretending-to-decode-gifs.patch > rename Tools/gstreamer/patches/{gst-plugins-good-0005-souphttpsrc-cookie-jar-and-context-query-support.patch => gst-plugins-good-0001-souphttpsrc-cookie-jar-and-context-query-support.patch} (72%) > rename Tools/gstreamer/patches/{gst-plugins-good-0006-qtdemux-add-context-for-a-preferred-protection.patch => gst-plugins-good-0002-qtdemux-add-context-for-a-preferred-protection.patch} (93%) > rename Tools/gstreamer/patches/{gst-plugins-good-0008-qtdemux-also-push-buffers-without-encryption-info-in.patch => gst-plugins-good-0003-qtdemux-also-push-buffers-without-encryption-info-in.patch} (86%) > delete mode 100644 Tools/gstreamer/patches/gst-plugins-good-0009-qtdemux-fix-assert-when-moof-contains-one-sample.patch > delete mode 100644 Tools/gstreamer/patches/gstreamer-0001-protection-added-function-to-filter-system-ids.patch > >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index 8cb18d9cff7..39187b9f2b1 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,20 @@ >+2018-05-16 Thibault Saunier <tsaunier@igalia.com> >+ >+ [GStreamer] Update to GStreamer 1.14.0 in jhbuild >+ https://bugs.webkit.org/show_bug.cgi?id=185689 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ And update the patches, removing the ones that have been merged upstream. >+ >+ * gstreamer/jhbuild.modules: >+ * gstreamer/patches/gst-plugins-good-0001-gstgdkpixbufdec-stop-pretending-to-decode-gifs.patch: Removed. >+ * gstreamer/patches/gst-plugins-good-0001-souphttpsrc-cookie-jar-and-context-query-support.patch: Renamed from Tools/gstreamer/patches/gst-plugins-good-0005-souphttpsrc-cookie-jar-and-context-query-support.patch. >+ * gstreamer/patches/gst-plugins-good-0002-qtdemux-add-context-for-a-preferred-protection.patch: Renamed from Tools/gstreamer/patches/gst-plugins-good-0006-qtdemux-add-context-for-a-preferred-protection.patch. >+ * gstreamer/patches/gst-plugins-good-0003-qtdemux-also-push-buffers-without-encryption-info-in.patch: Renamed from Tools/gstreamer/patches/gst-plugins-good-0008-qtdemux-also-push-buffers-without-encryption-info-in.patch. >+ * gstreamer/patches/gst-plugins-good-0009-qtdemux-fix-assert-when-moof-contains-one-sample.patch: Removed. >+ * gstreamer/patches/gstreamer-0001-protection-added-function-to-filter-system-ids.patch: Removed. >+ > 2018-05-11 Leo Balter <leonardo.balter@gmail.com> > > Test262 Runner should search for the Debug JSC by default >diff --git a/Tools/gstreamer/jhbuild.modules b/Tools/gstreamer/jhbuild.modules >index 9912b3d6475..ac97fe69d51 100644 >--- a/Tools/gstreamer/jhbuild.modules >+++ b/Tools/gstreamer/jhbuild.modules >@@ -44,10 +44,9 @@ > <dependencies> > <dep package="orc"/> > </dependencies> >- <branch module="gstreamer/gstreamer-${version}.tar.xz" version="1.12.4" >+ <branch module="gstreamer/gstreamer-${version}.tar.xz" version="1.14.0" > repo="gstreamer" >- hash="sha256:5a8704aa4c2eeb04da192c4a9942f94f860ac1a585de90d9f914bac26a970674"> >- <patch file="gstreamer-0001-protection-added-function-to-filter-system-ids.patch" strip="1"/> >+ hash="sha256:fc361367f0d4b780a868a8833f9f30b9c9f4ac9faea4e6b251db8b4b0398466e"> > </branch> > </autotools> > >@@ -60,9 +59,9 @@ > <dependencies> > <dep package="gstreamer"/> > </dependencies> >- <branch module="gst-plugins-base/gst-plugins-base-${version}.tar.xz" version="1.12.4" >+ <branch module="gst-plugins-base/gst-plugins-base-${version}.tar.xz" version="1.14.0" > repo="gstreamer" >- hash="sha256:4c306b03df0212f1b8903784e29bb3493319ba19ebebf13b0c56a17870292282"/> >+ hash="sha256:7e904660ff56e02b036cf7fdfb77a50a540828ca9d2614d69ba931772e5b6940"/> > </autotools> > > <autotools id="gst-plugins-good" autogen-sh="configure" autogenargs="--disable-examples --disable-gtk-doc --disable-introspection"> >@@ -71,14 +70,12 @@ > <dep package="libvpx"/> > </dependencies> > >- <branch module="gst-plugins-good/gst-plugins-good-${version}.tar.xz" version="1.12.4" >+ <branch module="gst-plugins-good/gst-plugins-good-${version}.tar.xz" version="1.14.0" > repo="gstreamer" >- hash="sha256:649f49bec60892d47ee6731b92266974c723554da1c6649f21296097715eb957"> >- <patch file="gst-plugins-good-0001-gstgdkpixbufdec-stop-pretending-to-decode-gifs.patch" strip="1"/> >- <patch file="gst-plugins-good-0005-souphttpsrc-cookie-jar-and-context-query-support.patch" strip="1"/> >- <patch file="gst-plugins-good-0006-qtdemux-add-context-for-a-preferred-protection.patch" strip="1"/> >- <patch file="gst-plugins-good-0008-qtdemux-also-push-buffers-without-encryption-info-in.patch" strip="1"/> >- <patch file="gst-plugins-good-0009-qtdemux-fix-assert-when-moof-contains-one-sample.patch" strip="1"/> >+ hash="sha256:6afa35747d528d3ab4ed8f5eac13f7235d7d28100d6a24dd78f81ec7c0d04688"> >+ <patch file="gst-plugins-good-0001-souphttpsrc-cookie-jar-and-context-query-support.patch" strip="1"/> >+ <patch file="gst-plugins-good-0002-qtdemux-add-context-for-a-preferred-protection.patch" strip="1"/> >+ <patch file="gst-plugins-good-0003-qtdemux-also-push-buffers-without-encryption-info-in.patch" strip="1"/> > </branch> > </autotools> > >@@ -88,24 +85,24 @@ > <dep package="gst-plugins-base"/> > <dep package="openh264"/> > </dependencies> >- <branch module="gst-plugins-bad/gst-plugins-bad-${version}.tar.xz" version="1.12.4" >+ <branch module="gst-plugins-bad/gst-plugins-bad-${version}.tar.xz" version="1.14.0" > repo="gstreamer" >- hash="sha256:0c7857be16686d5c1ba6e34bd338664d3d4599d32714a8eca5c8a41a101e2d08"/> >+ hash="sha256:ed5e2badb6f2858f60017b93334d91fe58a0e3f85ed2f37f2e931416fafb4f9f"/> > </autotools> > > <autotools id="gst-libav" autogen-sh="configure" autogenargs="--with-libav-extra-configure='--disable-yasm' --disable-gtk-doc"> > <dependencies> > <dep package="gst-plugins-base"/> > </dependencies> >- <branch module="gst-libav/gst-libav-${version}.tar.xz" version="1.12.4" >+ <branch module="gst-libav/gst-libav-${version}.tar.xz" version="1.14.0" > repo="gstreamer" >- hash="sha256:2a56aa5d2d8cd912f2bce17f174713d2c417ca298f1f9c28ee66d4aa1e1d9e62"/> >+ hash="sha256:fb134b4d3e054746ef8b922ff157b0c7903d1fdd910708a45add66954da7ef89"/> > </autotools> > > <autotools id="gstreamer-vaapi"> >- <branch module="gstreamer-vaapi/gstreamer-vaapi-${version}.tar.xz" version="1.12.4" >+ <branch module="gstreamer-vaapi/gstreamer-vaapi-${version}.tar.xz" version="1.14.0" > repo="gstreamer" >- hash="sha256:1c2d77242e1f30c4d1394636cae9f6877228a017960fca96881e0080d8b6e9c9"/> >+ hash="sha256:e4e31f085ef289bf1049398f641345979d20a1b11a80285744bba98504991df2"/> > <dependencies> > <dep package="gstreamer"/> > <dep package="gst-plugins-base"/> >diff --git a/Tools/gstreamer/patches/gst-plugins-good-0001-gstgdkpixbufdec-stop-pretending-to-decode-gifs.patch b/Tools/gstreamer/patches/gst-plugins-good-0001-gstgdkpixbufdec-stop-pretending-to-decode-gifs.patch >deleted file mode 100644 >index 9592ccfb667..00000000000 >--- a/Tools/gstreamer/patches/gst-plugins-good-0001-gstgdkpixbufdec-stop-pretending-to-decode-gifs.patch >+++ /dev/null >@@ -1,30 +0,0 @@ >-From c7a172517deb7ca8920b6c910998cfecd8b1893d Mon Sep 17 00:00:00 2001 >-From: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com> >-Date: Tue, 13 Jun 2017 18:51:32 +0200 >-Subject: [PATCH] gstgdkpixbufdec: stop pretending to decode gifs. >- >-If you can't decode an animated gif, you can't decode a gif, >-so stop squatting GST_RANK_SECONDARY for that format, libav >-does a better job. >- >-https://bugzilla.gnome.org/show_bug.cgi?id=784683 >---- >- ext/gdk_pixbuf/gstgdkpixbufdec.c | 2 +- >- 1 file changed, 1 insertion(+), 1 deletion(-) >- >-diff --git a/ext/gdk_pixbuf/gstgdkpixbufdec.c b/ext/gdk_pixbuf/gstgdkpixbufdec.c >-index 1598c53be..09211bf17 100644 >---- a/ext/gdk_pixbuf/gstgdkpixbufdec.c >-+++ b/ext/gdk_pixbuf/gstgdkpixbufdec.c >-@@ -38,7 +38,7 @@ static GstStaticPadTemplate gst_gdk_pixbuf_dec_sink_template = >- GST_PAD_ALWAYS, >- GST_STATIC_CAPS ("image/png; " >- /* "image/jpeg; " disabled because we can't handle MJPEG */ >-- "image/gif; " >-+ /*"image/gif; " disabled because we can't handle animated gifs */ >- "image/x-icon; " >- "application/x-navi-animation; " >- "image/x-cmu-raster; " >--- >-2.15.1 >- >diff --git a/Tools/gstreamer/patches/gst-plugins-good-0005-souphttpsrc-cookie-jar-and-context-query-support.patch b/Tools/gstreamer/patches/gst-plugins-good-0001-souphttpsrc-cookie-jar-and-context-query-support.patch >similarity index 72% >rename from Tools/gstreamer/patches/gst-plugins-good-0005-souphttpsrc-cookie-jar-and-context-query-support.patch >rename to Tools/gstreamer/patches/gst-plugins-good-0001-souphttpsrc-cookie-jar-and-context-query-support.patch >index 8a3c062ab3f..9a780abfa3c 100644 >--- a/Tools/gstreamer/patches/gst-plugins-good-0005-souphttpsrc-cookie-jar-and-context-query-support.patch >+++ b/Tools/gstreamer/patches/gst-plugins-good-0001-souphttpsrc-cookie-jar-and-context-query-support.patch >@@ -1,7 +1,7 @@ >-From 5495e154c5ba05c7e254865e2ff6d1068f2dc6ca Mon Sep 17 00:00:00 2001 >+From 6715af9933a6607e5d86ac6fc1bcf476761cbf10 Mon Sep 17 00:00:00 2001 > From: Philippe Normand <philn@igalia.com> > Date: Wed, 28 Oct 2015 12:00:09 +0100 >-Subject: [PATCH] souphttpsrc: cookie jar and context query support >+Subject: [PATCH 1/7] souphttpsrc: cookie jar and context query support > > Use a volatile Cookie jar to store cookies and handle the context > query so that session data can be shared with other elements (like >@@ -9,25 +9,25 @@ adaptivedemux). > > https://bugzilla.gnome.org/show_bug.cgi?id=726314 > --- >- ext/soup/gstsouphttpsrc.c | 41 +++++++++++++++++++++++++++++++++++++++-- >+ ext/soup/gstsouphttpsrc.c | 41 +++++++++++++++++++++++++++++++++++++-- > ext/soup/gstsouphttpsrc.h | 1 + > 2 files changed, 40 insertions(+), 2 deletions(-) > > diff --git a/ext/soup/gstsouphttpsrc.c b/ext/soup/gstsouphttpsrc.c >-index 52c1b8182..ac41692a5 100644 >+index 28642e359..d23ec4ce8 100644 > --- a/ext/soup/gstsouphttpsrc.c > +++ b/ext/soup/gstsouphttpsrc.c >-@@ -481,6 +481,7 @@ gst_soup_http_src_init (GstSoupHTTPSrc * src) >- src->cookies = NULL; >- src->iradio_mode = DEFAULT_IRADIO_MODE; >+@@ -489,6 +489,7 @@ gst_soup_http_src_init (GstSoupHTTPSrc * src) > src->session = NULL; >+ src->external_session = NULL; >+ src->forced_external_session = FALSE; > + src->cookie_jar = NULL; > src->msg = NULL; > src->timeout = DEFAULT_TIMEOUT; > src->log_level = DEFAULT_SOUP_LOG_LEVEL; >-@@ -942,6 +943,9 @@ gst_soup_http_src_session_open (GstSoupHTTPSrc * src) >- soup_session_remove_feature_by_type (src->session, >- SOUP_TYPE_CONTENT_DECODER); >+@@ -1026,6 +1027,9 @@ gst_soup_http_src_session_open (GstSoupHTTPSrc * src) >+ GST_DEBUG_OBJECT (src, "Re-using session"); >+ } > > + src->cookie_jar = soup_cookie_jar_new (); > + soup_session_add_feature (src->session, >@@ -35,7 +35,7 @@ index 52c1b8182..ac41692a5 100644 > return TRUE; > } > >-@@ -957,6 +961,11 @@ gst_soup_http_src_session_close (GstSoupHTTPSrc * src) >+@@ -1041,6 +1045,11 @@ gst_soup_http_src_session_close (GstSoupHTTPSrc * src) > src->msg = NULL; > } > >@@ -45,9 +45,9 @@ index 52c1b8182..ac41692a5 100644 > + } > + > if (src->session) { >- soup_session_abort (src->session); >- g_object_unref (src->session); >-@@ -1372,11 +1381,12 @@ gst_soup_http_src_build_message (GstSoupHTTPSrc * src, const gchar * method) >+ if (!src->session_is_shared) >+ soup_session_abort (src->session); >+@@ -1493,11 +1502,12 @@ gst_soup_http_src_build_message (GstSoupHTTPSrc * src, const gchar * method) > } > if (src->cookies) { > gchar **cookie; >@@ -61,8 +61,8 @@ index 52c1b8182..ac41692a5 100644 > + soup_uri_free (uri); > } > >- soup_message_set_flags (src->msg, SOUP_MESSAGE_OVERWRITE_CHUNKS | >-@@ -1888,6 +1898,12 @@ gst_soup_http_src_query (GstBaseSrc * bsrc, GstQuery * query) >+ if (!src->compress) >+@@ -2046,6 +2056,12 @@ gst_soup_http_src_query (GstBaseSrc * bsrc, GstQuery * query) > gboolean ret; > GstSchedulingFlags flags; > gint minsize, maxsize, align; >@@ -75,7 +75,7 @@ index 52c1b8182..ac41692a5 100644 > > switch (GST_QUERY_TYPE (query)) { > case GST_QUERY_URI: >-@@ -1899,6 +1915,27 @@ gst_soup_http_src_query (GstBaseSrc * bsrc, GstQuery * query) >+@@ -2057,6 +2073,27 @@ gst_soup_http_src_query (GstBaseSrc * bsrc, GstQuery * query) > } > ret = TRUE; > break; >@@ -104,17 +104,17 @@ index 52c1b8182..ac41692a5 100644 > ret = FALSE; > break; > diff --git a/ext/soup/gstsouphttpsrc.h b/ext/soup/gstsouphttpsrc.h >-index f140f80c5..52b32c768 100644 >+index 06851ddfa..cd0397a13 100644 > --- a/ext/soup/gstsouphttpsrc.h > +++ b/ext/soup/gstsouphttpsrc.h >-@@ -60,6 +60,7 @@ struct _GstSoupHTTPSrc { >- gchar *proxy_pw; /* Authentication user password for proxy URI. */ >- gchar **cookies; /* HTTP request cookies. */ >- SoupSession *session; /* Async context. */ >+@@ -63,6 +63,7 @@ struct _GstSoupHTTPSrc { >+ gboolean session_is_shared; >+ SoupSession *external_session; /* Shared via GstContext */ >+ gboolean forced_external_session; /* If session was explicitly set from application */ > + SoupCookieJar *cookie_jar; /* Volatile HTTP cookie storage */ > SoupMessage *msg; /* Request message. */ > gint retry_count; /* Number of retries since we received data */ > gint max_retries; /* Maximum number of retries */ > -- >-2.11.0 >+2.17.0 > >diff --git a/Tools/gstreamer/patches/gst-plugins-good-0006-qtdemux-add-context-for-a-preferred-protection.patch b/Tools/gstreamer/patches/gst-plugins-good-0002-qtdemux-add-context-for-a-preferred-protection.patch >similarity index 93% >rename from Tools/gstreamer/patches/gst-plugins-good-0006-qtdemux-add-context-for-a-preferred-protection.patch >rename to Tools/gstreamer/patches/gst-plugins-good-0002-qtdemux-add-context-for-a-preferred-protection.patch >index 67e8406456f..c265ab4f393 100644 >--- a/Tools/gstreamer/patches/gst-plugins-good-0006-qtdemux-add-context-for-a-preferred-protection.patch >+++ b/Tools/gstreamer/patches/gst-plugins-good-0002-qtdemux-add-context-for-a-preferred-protection.patch >@@ -1,7 +1,7 @@ >-From e09ab95ad39264783bf0e57dfb89165ad9b83802 Mon Sep 17 00:00:00 2001 >+From 0ba62ba4805e2cdbed17fa9934762d685be42fd4 Mon Sep 17 00:00:00 2001 > From: Xabier Rodriguez Calvar <calvaris@igalia.com> > Date: Wed, 21 Jun 2017 17:59:21 +0200 >-Subject: [PATCH] qtdemux: add context for a preferred protection >+Subject: [PATCH 2/7] qtdemux: add context for a preferred protection > > qtdemux selected the first system corresponding to a working GStreamer > decryptor. With this change, before selecting that decryptor, qtdemux >@@ -31,15 +31,15 @@ is dispatched to the decryptor, which can then decrypt the video successfully. > > https://bugzilla.gnome.org/show_bug.cgi?id=770107 > --- >- gst/isomp4/qtdemux.c | 200 +++++++++++++++++++++++++++++++++++++++++++++++++-- >+ gst/isomp4/qtdemux.c | 200 +++++++++++++++++++++++++++++++++++++++++-- > gst/isomp4/qtdemux.h | 1 + > 2 files changed, 195 insertions(+), 6 deletions(-) > > diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c >-index f0f8320e2..f710d2685 100644 >+index 705bdf7ca..da22463f8 100644 > --- a/gst/isomp4/qtdemux.c > +++ b/gst/isomp4/qtdemux.c >-@@ -513,6 +513,8 @@ static GstIndex *gst_qtdemux_get_index (GstElement * element); >+@@ -511,6 +511,8 @@ static GstIndex *gst_qtdemux_get_index (GstElement * element); > #endif > static GstStateChangeReturn gst_qtdemux_change_state (GstElement * element, > GstStateChange transition); >@@ -48,7 +48,7 @@ index f0f8320e2..f710d2685 100644 > static gboolean qtdemux_sink_activate (GstPad * sinkpad, GstObject * parent); > static gboolean qtdemux_sink_activate_mode (GstPad * sinkpad, > GstObject * parent, GstPadMode mode, gboolean active); >-@@ -602,6 +604,7 @@ gst_qtdemux_class_init (GstQTDemuxClass * klass) >+@@ -600,6 +602,7 @@ gst_qtdemux_class_init (GstQTDemuxClass * klass) > gstelement_class->set_index = GST_DEBUG_FUNCPTR (gst_qtdemux_set_index); > gstelement_class->get_index = GST_DEBUG_FUNCPTR (gst_qtdemux_get_index); > #endif >@@ -56,7 +56,7 @@ index f0f8320e2..f710d2685 100644 > > gst_tag_register_musicbrainz_tags (); > >-@@ -660,6 +663,7 @@ gst_qtdemux_init (GstQTDemux * qtdemux) >+@@ -658,6 +661,7 @@ gst_qtdemux_init (GstQTDemux * qtdemux) > qtdemux->cenc_aux_info_sizes = NULL; > qtdemux->cenc_aux_sample_count = 0; > qtdemux->protection_system_ids = NULL; >@@ -64,7 +64,7 @@ index f0f8320e2..f710d2685 100644 > g_queue_init (&qtdemux->protection_event_queue); > gst_segment_init (&qtdemux->segment, GST_FORMAT_TIME); > qtdemux->tag_list = gst_tag_list_new_empty (); >-@@ -2114,6 +2118,10 @@ gst_qtdemux_reset (GstQTDemux * qtdemux, gboolean hard) >+@@ -2121,6 +2125,10 @@ gst_qtdemux_reset (GstQTDemux * qtdemux, gboolean hard) > g_ptr_array_free (qtdemux->protection_system_ids, TRUE); > qtdemux->protection_system_ids = NULL; > } >@@ -75,10 +75,11 @@ index f0f8320e2..f710d2685 100644 > } else if (qtdemux->mss_mode) { > gst_flow_combiner_reset (qtdemux->flowcombiner); > for (n = 0; n < qtdemux->n_streams; n++) >-@@ -2600,6 +2608,28 @@ gst_qtdemux_change_state (GstElement * element, GstStateChange transition) >+@@ -2606,6 +2614,28 @@ gst_qtdemux_change_state (GstElement * element, GstStateChange transition) >+ return result; > } > >- static void >++static void > +gst_qtdemux_set_context (GstElement * element, GstContext * context) > +{ > + GstQTDemux *qtdemux = GST_QTDEMUX (element); >@@ -100,11 +101,10 @@ index f0f8320e2..f710d2685 100644 > + GST_ELEMENT_CLASS (parent_class)->set_context (element, context); > +} > + >-+static void >+ static void > qtdemux_parse_ftyp (GstQTDemux * qtdemux, const guint8 * buffer, gint length) > { >- /* counts as header data */ >-@@ -3829,6 +3859,8 @@ qtdemux_parse_pssh (GstQTDemux * qtdemux, GNode * node) >+@@ -3847,6 +3877,8 @@ qtdemux_parse_pssh (GstQTDemux * qtdemux, GNode * node) > event = gst_event_new_protection (sysid_string, pssh, > (parent_box_type == FOURCC_moov) ? "isobmff/moov" : "isobmff/moof"); > for (i = 0; i < qtdemux->n_streams; ++i) { >@@ -113,7 +113,7 @@ index f0f8320e2..f710d2685 100644 > g_queue_push_tail (&qtdemux->streams[i]->protection_scheme_event_queue, > gst_event_ref (event)); > } >-@@ -5538,6 +5570,8 @@ gst_qtdemux_decorate_and_push_buffer (GstQTDemux * qtdemux, >+@@ -5563,6 +5595,8 @@ gst_qtdemux_decorate_and_push_buffer (GstQTDemux * qtdemux, > GstEvent *event; > > while ((event = g_queue_pop_head (&stream->protection_scheme_event_queue))) { >@@ -122,10 +122,11 @@ index f0f8320e2..f710d2685 100644 > gst_pad_push_event (stream->pad, event); > } > >-@@ -7696,11 +7730,141 @@ qtdemux_do_allocation (GstQTDemux * qtdemux, QtDemuxStream * stream) >+@@ -7756,12 +7790,142 @@ qtdemux_do_allocation (GstQTDemux * qtdemux, QtDemuxStream * stream) >+ #endif > } > >- static gboolean >++static gboolean > +pad_query (const GValue * item, GValue * value, gpointer user_data) > +{ > + GstPad *pad = g_value_get_object (item); >@@ -255,7 +256,7 @@ index f0f8320e2..f710d2685 100644 > + gst_query_unref (query); > +} > + >-+static gboolean >+ static gboolean > gst_qtdemux_configure_protected_caps (GstQTDemux * qtdemux, > QtDemuxStream * stream) > { >@@ -265,7 +266,7 @@ index f0f8320e2..f710d2685 100644 > > g_return_val_if_fail (qtdemux != NULL, FALSE); > g_return_val_if_fail (stream != NULL, FALSE); >-@@ -7716,17 +7880,41 @@ gst_qtdemux_configure_protected_caps (GstQTDemux * qtdemux, >+@@ -7777,17 +7941,41 @@ gst_qtdemux_configure_protected_caps (GstQTDemux * qtdemux, > "cenc protection system information has been found"); > return FALSE; > } >@@ -313,10 +314,10 @@ index f0f8320e2..f710d2685 100644 > if (!gst_structure_has_name (s, "application/x-cenc")) { > gst_structure_set (s, > diff --git a/gst/isomp4/qtdemux.h b/gst/isomp4/qtdemux.h >-index ebd725871..b3d64a4e8 100644 >+index ad4da3ef2..079372356 100644 > --- a/gst/isomp4/qtdemux.h > +++ b/gst/isomp4/qtdemux.h >-@@ -154,6 +154,7 @@ struct _GstQTDemux { >+@@ -151,6 +151,7 @@ struct _GstQTDemux { > guint64 cenc_aux_info_offset; > guint8 *cenc_aux_info_sizes; > guint32 cenc_aux_sample_count; >@@ -325,5 +326,5 @@ index ebd725871..b3d64a4e8 100644 > > /* > -- >-2.11.0 >+2.17.0 > >diff --git a/Tools/gstreamer/patches/gst-plugins-good-0008-qtdemux-also-push-buffers-without-encryption-info-in.patch b/Tools/gstreamer/patches/gst-plugins-good-0003-qtdemux-also-push-buffers-without-encryption-info-in.patch >similarity index 86% >rename from Tools/gstreamer/patches/gst-plugins-good-0008-qtdemux-also-push-buffers-without-encryption-info-in.patch >rename to Tools/gstreamer/patches/gst-plugins-good-0003-qtdemux-also-push-buffers-without-encryption-info-in.patch >index 3fc1fce4cce..d17df692b4d 100644 >--- a/Tools/gstreamer/patches/gst-plugins-good-0008-qtdemux-also-push-buffers-without-encryption-info-in.patch >+++ b/Tools/gstreamer/patches/gst-plugins-good-0003-qtdemux-also-push-buffers-without-encryption-info-in.patch >@@ -1,18 +1,18 @@ >-From 78559bc5db3495f12b0284e4be5fc8bfcd7041e2 Mon Sep 17 00:00:00 2001 >+From 762e9c645ec13513c62eb5a3800d7406e01cdcb7 Mon Sep 17 00:00:00 2001 > From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= <eocanha@igalia.com> > Date: Mon, 24 Apr 2017 17:22:02 +0000 >-Subject: [PATCH] qtdemux: also push buffers without encryption info instead of >- dropping them >+Subject: [PATCH 3/7] qtdemux: also push buffers without encryption info >+ instead of dropping them > > --- >- gst/isomp4/qtdemux.c | 26 ++++++++++++-------------- >- 1 file changed, 12 insertions(+), 14 deletions(-) >+ gst/isomp4/qtdemux.c | 39 +++++++++++++++++++-------------------- >+ 1 file changed, 19 insertions(+), 20 deletions(-) > > diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c >-index f0f8320..3f2c016 100644 >+index da22463f8..8e9f5b9ae 100644 > --- a/gst/isomp4/qtdemux.c > +++ b/gst/isomp4/qtdemux.c >-@@ -5541,26 +5541,25 @@ gst_qtdemux_decorate_and_push_buffer (GstQTDemux * qtdemux, >+@@ -5600,26 +5600,25 @@ gst_qtdemux_decorate_and_push_buffer (GstQTDemux * qtdemux, > gst_pad_push_event (stream->pad, event); > } > >@@ -59,5 +59,5 @@ index f0f8320..3f2c016 100644 > } > > -- >-2.11.0 >+2.17.0 > >diff --git a/Tools/gstreamer/patches/gst-plugins-good-0009-qtdemux-fix-assert-when-moof-contains-one-sample.patch b/Tools/gstreamer/patches/gst-plugins-good-0009-qtdemux-fix-assert-when-moof-contains-one-sample.patch >deleted file mode 100644 >index 06432694950..00000000000 >--- a/Tools/gstreamer/patches/gst-plugins-good-0009-qtdemux-fix-assert-when-moof-contains-one-sample.patch >+++ /dev/null >@@ -1,31 +0,0 @@ >-From e667ac33dcc039698ee311c22d7b37bedf48df3c Mon Sep 17 00:00:00 2001 >-From: Nael Ouedraogo <nael.ouedraogo@crf.canon.fr> >-Date: Fri, 22 Sep 2017 18:41:52 +0200 >-Subject: [PATCH] qtdemux: fix assert when moof contains one sample >- >-Avoid computing frame rate when a stream contain moof with only one >-sample, to avoid an assert. The moof is considered as still picture. >- >-[ Merged in upstream commit 728a1629cf9fd7f4a728477bda1d13a1ecc219bb ] >- >---- >- gst/isomp4/qtdemux.c | 3 ++- >- 1 file changed, 2 insertions(+), 1 deletion(-) >- >-diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c >-index 5f4de422e..f839d82f6 100644 >---- a/gst/isomp4/qtdemux.c >-+++ b/gst/isomp4/qtdemux.c >-@@ -7531,7 +7531,8 @@ gst_qtdemux_configure_stream (GstQTDemux * qtdemux, QtDemuxStream * stream) >- * qt does not have a fixed framerate. */ >- gboolean fps_available = TRUE; >- >-- if ((stream->n_samples == 1) && (stream->first_duration == 0)) { >-+ if ((stream->n_samples == 1 && stream->first_duration == 0) >-+ || (qtdemux->fragmented && stream->n_samples_moof == 1)) { >- /* still frame */ >- stream->fps_n = 0; >- stream->fps_d = 1; >--- >-2.14.1 >- >diff --git a/Tools/gstreamer/patches/gstreamer-0001-protection-added-function-to-filter-system-ids.patch b/Tools/gstreamer/patches/gstreamer-0001-protection-added-function-to-filter-system-ids.patch >deleted file mode 100644 >index e72ef6c132c..00000000000 >--- a/Tools/gstreamer/patches/gstreamer-0001-protection-added-function-to-filter-system-ids.patch >+++ /dev/null >@@ -1,77 +0,0 @@ >-From 7772eb350591682b6a315c8a87a58131f731f1d4 Mon Sep 17 00:00:00 2001 >-From: Xabier Rodriguez Calvar <calvaris@igalia.com> >-Date: Wed, 19 Oct 2016 16:44:16 +0200 >-Subject: [PATCH] protection: added function to filter system ids >- >-gst_protection_filter_systems_by_available_decryptors takes an array of >-strings and returns a new array of strings filtered by the avaible >-decryptors for them so the ones you get are the ones that you should be >-able to decrypt. >---- >- gst/gstprotection.c | 36 ++++++++++++++++++++++++++++++++++++ >- gst/gstprotection.h | 2 ++ >- 2 files changed, 38 insertions(+) >- >-diff --git a/gst/gstprotection.c b/gst/gstprotection.c >-index 8ee52ea..2d7e5e0 100644 >---- a/gst/gstprotection.c >-+++ b/gst/gstprotection.c >-@@ -191,6 +191,42 @@ gst_protection_select_system (const gchar ** system_identifiers) >- return retval; >- } >- >-+gchar ** >-+gst_protection_filter_systems_by_available_decryptors (const gchar ** >-+ system_identifiers) >-+{ >-+ GList *decryptors, *walk; >-+ gchar **retval; >-+ guint i = 0, decryptors_number; >-+ >-+ decryptors = >-+ gst_element_factory_list_get_elements (GST_ELEMENT_FACTORY_TYPE_DECRYPTOR, >-+ GST_RANK_MARGINAL); >-+ >-+ decryptors_number = g_list_length (decryptors); >-+ retval = g_new (gchar *, decryptors_number + 1); >-+ >-+ GST_TRACE ("found %u decrytors", decryptors_number); >-+ >-+ for (walk = decryptors; walk; walk = g_list_next (walk)) { >-+ GstElementFactory *fact = (GstElementFactory *) walk->data; >-+ >-+ const char *found_sys_id = >-+ gst_protection_factory_check (fact, system_identifiers); >-+ GST_TRACE ("factory %s is valid for %s", GST_OBJECT_NAME (fact), >-+ found_sys_id); >-+ >-+ if (found_sys_id) { >-+ retval[i++] = g_strdup (found_sys_id); >-+ } >-+ } >-+ retval[i] = NULL; >-+ >-+ gst_plugin_feature_list_free (decryptors); >-+ >-+ return retval; >-+} >-+ >- static const gchar * >- gst_protection_factory_check (GstElementFactory * fact, >- const gchar ** system_identifiers) >-diff --git a/gst/gstprotection.h b/gst/gstprotection.h >-index f2f54c4..95976c5 100644 >---- a/gst/gstprotection.h >-+++ b/gst/gstprotection.h >-@@ -66,6 +66,8 @@ GstProtectionMeta *gst_buffer_add_protection_meta (GstBuffer * buffer, >- GstStructure * info); >- >- const gchar *gst_protection_select_system (const gchar ** system_identifiers); >-+gchar ** gst_protection_filter_systems_by_available_decryptors ( >-+ const gchar ** system_identifiers); >- >- G_END_DECLS >- #endif /* __GST_PROTECTION_META_H__ */ >--- >-2.10.2 >- >-- >2.17.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 185689
:
340506
|
340510
|
340962
|
340963
|
340968