rtph264depay: PPS replaces and old PPS if it has the same id, independent of SPS id
authorSebastian Dröge <sebastian@centricular.com>
Tue, 4 Aug 2015 08:48:27 +0000 (11:48 +0300)
committerSebastian Dröge <sebastian@centricular.com>
Tue, 4 Aug 2015 09:45:06 +0000 (12:45 +0300)
The spec says:

When a picture parameter set NAL unit with a particular value of
pic_parameter_set_id is received, its content replaces the content of the
previous picture parameter set NAL unit, in decoding order, with the same
value of pic_parameter_set_id (when a previous picture parameter set NAL unit
with the same value of pic_parameter_set_id was present in the bitstream).

gst/rtp/gstrtph264depay.c

index 906d009..5686d87 100644 (file)
@@ -519,7 +519,7 @@ gst_rtp_h264_add_sps_pps (GstElement * rtph264, GPtrArray * sps_array,
       gst_buffer_map (pps, &ppsmap, GST_MAP_READ);
       parse_pps (&ppsmap, &tmp_sps_id, &tmp_pps_id);
 
-      if (sps_id == tmp_sps_id && pps_id == tmp_pps_id) {
+      if (pps_id == tmp_pps_id) {
         if (map.size == ppsmap.size &&
             memcmp (map.data, ppsmap.data, ppsmap.size) == 0) {
           GST_LOG_OBJECT (rtph264, "Unchanged PPS %u:%u, not updating", sps_id,