[Bug 692787] New: No way to clear SPS and PPS in case of a new stream in rtph264pay
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Tue Jan 29 03:34:38 PST 2013
https://bugzilla.gnome.org/show_bug.cgi?id=692787
GStreamer | gst-plugins-good | 1.0.5
Summary: No way to clear SPS and PPS in case of a new stream in
rtph264pay
Classification: Platform
Product: GStreamer
Version: 1.0.5
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-good
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: visechelle at gmail.com
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Created an attachment (id=234717)
View: https://bugzilla.gnome.org/attachment.cgi?id=234717
Review: https://bugzilla.gnome.org/review?bug=692787&attachment=234717
Patch
When RTP payloading different streams successively with the same H264 payloader
element in a pipeline, there is no way to clear sps and pps GList (at least in
the case of packetized buffer).
This leads to problem as the sps and pps of the new stream will be added in the
list with the ones of the previous stream but they might have the same pps and
sps ids as the 2 stream are not correlated. Let's imagine now that I switch
back to the first stream, its sps and pps will not be added to the list as they
are already there but on the receiver the depayloader will receive first the
sps and pps of the first stream (the good one) and then the sps and pps of the
second one with the same sps and pps ids and codec_data in the caps will be
updated with the wrong sps and pps. Therefore the wrong information will be
given to the decoder and it will fail decoding.
In attachment the patch provided, correct this problem by handling STREAM_START
events which are the marker of a new stream. gst_rtp_h264_pay_clear_sps_pps()
is called when receiving such an event and therefore it will clear the sps and
pps only for a new stream.
Cheers,
Paul HENRYS
--
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