GNOME Bugzilla – Bug 768440
flvdemux: Create per-stream tag lists
Last modified: 2016-07-07 07:22:50 UTC
Created attachment 330898 [details] [review] [PATCH] flvdemux: Create per-stream tag lists Sorts the tags into global and per-stream tag lists, adding bitrate tags. With the patch from bug 768439 applied, flvmux will not set calculated bitrates anymore, since these are posted too late. When remuxing FLV => FLV, this now passes through upstream tags.
Whoops, this broke pushing out global tags on both streams reliably. Will fix.
Created attachment 330901 [details] [review] [PATCH] flvdemux: Create per-stream tag lists Sorts the tags into per-stream tag lists, also adding nominal bitrate tags. The global tag list is eliminated, to simplify handling pads appearing late. The old code also used the FLV header to determine whether all pads had appeared, despite also advising that the header cannot be trusted. When remuxing FLV => FLV, this now passes through upstream tags for the nominal bitrate.
Comment on attachment 330901 [details] [review] [PATCH] flvdemux: Create per-stream tag lists There should be a taglist with global scope for the global tags, and then per-stream taglists with stream scope for the other tags. And both should be sent downstream then, in separate events.
Created attachment 330935 [details] [review] [PATCH 1/2] flvdemux: Refactor metadata tag handling The FLV header cannot be trusted to indicate video or audio presence, as the comments already mention. Don't delay pushing tags waiting for streams that might never appear. Tags are now pushed immediately after they change: - After parsing an onMetaData script object - After negotiating caps on a pad
Created attachment 330936 [details] [review] [PATCH 2/2] flvdemux: Push nominal bitrate tags Add per-stream tag lists, which are used to send nominal bitrate tags. When remuxing FLV => FLV, this now passes through the upstream bitrate.
commit b3cfbe575c1f0098a98695968d218885365950a1 Author: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> Date: Wed Jul 6 09:25:00 2016 +0200 flvdemux: Push nominal bitrate tags Add per-stream tag lists, which are used to send nominal bitrate tags. When remuxing FLV => FLV, this now passes through the upstream bitrate. https://bugzilla.gnome.org/show_bug.cgi?id=768440 commit ee44e60f7b8e0cd6ee30944cee24b691b1cdf0d5 Author: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> Date: Wed Jul 6 09:24:49 2016 +0200 flvdemux: Refactor metadata tag handling The FLV header cannot be trusted to indicate video or audio presence, as the comments already mention. Don't delay pushing tags waiting for streams that might never appear. Tags are now pushed immediately after they change: - After parsing an onMetaData script object - After negotiating caps on a pad https://bugzilla.gnome.org/show_bug.cgi?id=768440