[Bug 702327] h264parse: Fixate to upstream format when possible

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Aug 15 02:16:59 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=702327
  GStreamer | gst-plugins-bad | unspecified

Jason Pinto <raju.babannavar> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |raju.babannavar at gmail.com

--- Comment #9 from Jason Pinto <raju.babannavar at gmail.com> 2013-08-15 09:16:52 UTC ---
(In reply to comment #8)
> Review of attachment 251695 [details]:
> 
> ::: code/Gstreamer/gstreamer-1.0.8/gsth264parse.c
> @@ +350,3 @@
> +    const char *ai1_stream_format[3] = {"unknown", "avc", "byte-stream"};
> +
> +    src_caps_st = gst_caps_get_structure (caps, 0);
> 
> The caps can have multiple structures here
> 
> AFAIU you could just loop over all structures, and for each structure call
> gst_structure_fixate_field_string(s, "stream-format", upstream_stream_format).
> That will chose the upstream stream format if possible, otherwise chose one of
> the possible ones.

Thank you for quick reply. I agree your point. The string field fixation is
only done on the first structure since we already truncated the caps earlier.
The purpose of this patch is, if downstream can support either stream-format,
we should avoid fixating to a stream-format different from upstream. Suppose if
h264parse get byte-stream/nal in input and downstream can support both
byte-stream and avc but needs au alignment(avdec_h264) ... here we would end up
fixating to avc/au (instead of the more efficient byte-stream/au). And also if
the downstream element supports only avc and input to parser is byte-stream OR
vice-versa ... then only conversion should be allowed. This patch exactly does
this. I have verified this patch for possible cases. I couldn't find any
issues. :)

-- 
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