gst_buffer_unref (packet->buffer);
goto done;
}
+
+ if (packetizer->packet_size == MPEGTS_M2TS_PACKETSIZE) {
+ if (i >= 4)
+ i -= 4;
+ else
+ i += 188;
+ }
+
/* Pop out the remaining data... */
GST_BUFFER_DATA (packet->buffer) += i;
GST_BUFFER_SIZE (packet->buffer) -= i;
mpegts_packetizer_flush (base->packetizer);
+ if (base->packetizer->packet_size == MPEGTS_M2TS_PACKETSIZE)
+ offset -= 4;
+
while (!done && scan_offset <= length) {
res =
gst_pad_pull_range (base->sinkpad, offset + scan_offset,
return GST_FLOW_ERROR;
mpegts_packetizer_flush (base->packetizer);
+ if (offset >= 4 && base->packetizer->packet_size == MPEGTS_M2TS_PACKETSIZE)
+ offset -= 4;
while (!done && scan_offset < length) {
ret =