h264parse: Don't discard first AU delimiter
authorJan Schmidt <jan@centricular.com>
Thu, 23 Jul 2015 16:46:21 +0000 (02:46 +1000)
committerJan Schmidt <jan@centricular.com>
Thu, 23 Jul 2015 16:46:21 +0000 (02:46 +1000)
Don't throw away AU delimiter(s) that precede the SPS/PPS. Should
fix MPEG-TS playback on iOS/Quicktime when muxing streams that
already have AU delimiters.

See https://bugzilla.gnome.org/show_bug.cgi?id=736213 for getting
h264parse to insert AU delimiters when they don't already
exist.

gst/videoparsers/gsth264parse.c

index 06e4831..aabe14c 100644 (file)
@@ -856,6 +856,12 @@ gst_h264_parse_process_nal (GstH264Parse * h264parse, GstH264NalUnit * nalu)
             h264parse->idr_pos);
       }
       break;
+    case GST_H264_NAL_AU_DELIMITER:
+      /* Just accumulate AU Delimiter, whether it's before SPS or not */
+      pres = gst_h264_parser_parse_nal (nalparser, nalu);
+      if (pres != GST_H264_PARSER_OK)
+        return FALSE;
+      break;
     default:
       /* drop anything before the initial SPS */
       if (!GST_H264_PARSE_STATE_VALID (h264parse, GST_H264_PARSE_STATE_GOT_SPS))