GNOME Bugzilla – Bug 652995
legacyh264parse wrong access-unit output
Last modified: 2011-06-21 11:31:46 UTC
if you run the following pipeline (and eg generate dot file to examine the pipeline) then after the 2nd legacyh264parse the caps (stream type) still remain "access-unit true". so it seems the conversion from access-unit=true to access-unit=false do not working. gst-launch videotestsrc ! x264enc ! legacyh264parse access-unit=true output-format=0 ! legacyh264parse access-unit=false output-format=1 ! fakesink
Try adding split-packetized=true.
why did you close it? still not working:-(
Created attachment 190264 [details] the dot file of the pipeline i'm just attached the png of the pipeline to be clear.
This time around you added split-packetized=true to the second parser, but you dropped the access-unit=false bit. Suffice it to say both need to be specified.
could you please test it! we DO add it and on the picture it's still not shown (and also not set). this is the bug what we try to report!:-) GST_DEBUG_DUMP_DOT_DIR=/tmp gst-launch videotestsrc ! x264enc ! legacyh264parse access-unit=true output-format=0 ! legacyh264parse split-packetized=true access-unit=false output-format=1 ! fakesink
Created attachment 190267 [details] the new pipeline
Commit below fixes some of this. That is, using a *single* legacyh264parse output-format=1 access-unit=false split-packetized=true should now lead to the proper output caps. However, using an instance legacyh264parse output-format=1 access-unit=true will kind of mess up avc input. IIRC it should not mess up when using output-format=2 (so respecting the input format, which is known to be avc in this particular case, rather than forcing the output format). This is all a bit messy and falls under the (IMO) "use at your own risk" disclaimer which is basically only really fixed and addressed in the newer h264parse (and so out-of-fixing-scope for the legacy one). commit d631e1b34803eaaed2eee6f5452a0b1c2676fd88 Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> Date: Tue Jun 21 12:45:31 2011 +0200 legacyh264parse: fix output caps alignment for avc input ... particularly when splitting packetized input. Fixes #652995.
so i've got only 2 questions: - if i set access-unit=false in legacyh264parse why not set split-packetized=true automatically? - we need h264 byte-stream without au (ie: access-unit=false output-format=1). is there any other way then legacyh264parse which can produce this output? the new h264parse do NOT have such feature (or at least we can't find). anyway what does the "parsed: false/true" means in the new h264parse?