GNOME Bugzilla – Bug 661050
h264parse: doesn't set key unit flags
Last modified: 2013-07-24 07:30:51 UTC
When parsing byte-stream h.264 from a file (or whatever), h264parse doesn't set any key frame flags anywhere on the (byte-stream) output.
(PS: legacyh264parse does)
Seems to work for me though; as in following dump from parsing some raw h264 file: /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "event ******* E (type: 102, GstEventNewsegment, update=(boolean)false, rate=(double)1, applied-rate=(double)1, format=(GstFormat)GST_FORMAT_TIME, start=(gint64)0, stop=(gint64)-1, position=(gint64)0;) 0x1cc1630" Setting pipeline to PLAYING ... /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain ******* < ( 5894 bytes, timestamp: 0:00:00.000000000, duration: none, offset: 0, offset_end: -1, flags: 33 ro discont ) 0x7f06f800d180" New clock: GstSystemClock /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain ******* < ( 4400 bytes, timestamp: none, duration: none, offset: 5894, offset_end: -1, flags: 257 ro delta_unit ) 0x7f06f800d330"
confirmed, it does set the key flags when working in non-passthrough. /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (12659 bytes, dts: 0:00:06.120000000, pts: none, duration: 0:00:00.020000000, offset: 1321901, offset_end: 1387437, flags: 00000000 ) 0x7ff1e0016560 /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (5841 bytes, dts: 0:00:06.140000000, pts: none, duration: 0:00:00.020000000, offset: 1334560, offset_end: 1400096, flags: 00002000 delta-unit ) 0x7ff1e0016890