[Bug 681819] New: h264parse: parsing disabled in case of fakesink pipeline
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Tue Aug 14 02:22:31 PDT 2012
https://bugzilla.gnome.org/show_bug.cgi?id=681819
GStreamer | gst-plugins-bad | 0.10.23
Summary: h264parse: parsing disabled in case of fakesink
pipeline
Classification: Platform
Product: GStreamer
Version: 0.10.23
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-bad
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: ps.report at gmx.net
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Testpipeline:
gst-lauch -v filesrc location=test.mpg ! mpegpsdemux ! h264parse ! fakesink
misses to set the buffer flags
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain *******
(fakesink0:sink) (53089 bytes, timestamp: 0:00:03.420033333, duration: none,
offset: -1, offset_end: -1, flags: 1 ro ) 0xbca78"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain *******
(fakesink0:sink) (41399 bytes, timestamp: 0:00:03.453400000, duration: none,
offset: -1, offset_end: -1, flags: 1 ro ) 0xbcd48"
/
.....and endlesss 'flags: 1'....
A quick fix (just for testing) is the following patch:
diff --git a/gst/videoparsers/gsth264parse.c b/gst/videoparsers/gsth264parse.c
index cf81657..9dd8b51 100644
--- a/gst/videoparsers/gsth264parse.c
+++ b/gst/videoparsers/gsth264parse.c
@@ -1656,7 +1656,7 @@ gst_h264_parse_set_caps (GstBaseParse * parse, GstCaps *
caps)
}
if (format == h264parse->format && align == h264parse->align) {
- gst_base_parse_set_passthrough (parse, TRUE);
+ gst_base_parse_set_passthrough (parse, FALSE);
/* we did parse codec-data and might supplement src caps */
gst_h264_parse_update_src_caps (h264parse, caps);
Output with patch applied:
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain *******
(fakesink0:sink) (62658 bytes, timestamp: 0:00:05.805711111, duration: none,
offset: 7351588, offset_end: -1, flags: 257 ro delta_unit ) 0xbcc78"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain *******
(fakesink0:sink) (46709 bytes, timestamp: 0:00:05.839066666, duration: none,
offset: 7414246, offset_end: -1, flags: 257 ro delta_unit ) 0xbcce0"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain *******
(fakesink0:sink) (131011 bytes, timestamp: 0:00:05.872433333, duration: none,
offset: 7460955, offset_end: -1, flags: 0 ) 0xbcdb0"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain *******
(fakesink0:sink) (52341 bytes, timestamp: 0:00:05.922477777, duration: none,
offset: 7591966, offset_end: -1, flags: 257 ro delta_unit ) 0xbcd48"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain *******
(fakesink0:sink) (37758 bytes, timestamp: 0:00:05.955855555, duration: none,
offset: 7644307, offset_end: -1, flags: 257 ro delta_unit ) 0xbcc10"
I think the problem was introduced by the following commit:
http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/gst/videoparsers/gsth264parse.c?id=6a8d66728f0c88c4e087d489084ecc31071dc251
As fix for:
https://bugzilla.gnome.org/show_bug.cgi?id=650228
I think the fakesink element accept the new caps and as consequence the
h264parse is disabled by the gst_base_parse_set_passthrough (parse, TRUE);
call......
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list