diff --git a/doc/APIchanges b/doc/APIchanges index 1194709fcd..0c7fc65c09 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -15,6 +15,9 @@ libavutil: 2015-08-28 API changes, most recent first: +2016-02-xx - xxxxxxx - lavc 57.25.100 + Add AV_PKT_DATA_MPEGTS_STREAM_ID for exporting the MPEGTS stream ID. + 2016-xx-xx - lavu 55.18.100 xxxxxxx audio_fifo.h - Add av_audio_fifo_peek_at(). diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index d8497655b0..80f8a66339 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -1403,6 +1403,12 @@ enum AVPacketSideDataType { * side data includes updated metadata which appeared in the stream. */ AV_PKT_DATA_METADATA_UPDATE, + + /** + * MPEGTS stream ID, this is required to pass the stream ID + * information from the demuxer to the corresponding muxer. + */ + AV_PKT_DATA_MPEGTS_STREAM_ID, }; #define AV_PKT_DATA_QUALITY_FACTOR AV_PKT_DATA_QUALITY_STATS //DEPRECATED diff --git a/libavcodec/avpacket.c b/libavcodec/avpacket.c index 4901d361b1..9538bf39f3 100644 --- a/libavcodec/avpacket.c +++ b/libavcodec/avpacket.c @@ -351,6 +351,7 @@ const char *av_packet_side_data_name(enum AVPacketSideDataType type) case AV_PKT_DATA_WEBVTT_IDENTIFIER: return "WebVTT ID"; case AV_PKT_DATA_WEBVTT_SETTINGS: return "WebVTT Settings"; case AV_PKT_DATA_METADATA_UPDATE: return "Metadata Update"; + case AV_PKT_DATA_MPEGTS_STREAM_ID: return "MPEGTS Stream ID"; } return NULL; } diff --git a/libavcodec/version.h b/libavcodec/version.h index 99ba2e7451..3580cf2ad7 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -30,7 +30,7 @@ #define LIBAVCODEC_VERSION_MAJOR 57 #define LIBAVCODEC_VERSION_MINOR 24 -#define LIBAVCODEC_VERSION_MICRO 105 +#define LIBAVCODEC_VERSION_MICRO 106 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \ diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 22874e6f83..e44da1fc4b 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -235,6 +235,7 @@ typedef struct PESContext { int total_size; int pes_header_size; int extended_stream_id; + uint8_t stream_id; int64_t pts, dts; int64_t ts_packet_pos; /**< position of first TS packet of this PES packet */ uint8_t header[MAX_PES_HEADER_SIZE]; @@ -862,8 +863,10 @@ static void reset_pes_packet_state(PESContext *pes) av_buffer_unref(&pes->buffer); } -static void new_pes_packet(PESContext *pes, AVPacket *pkt) +static int new_pes_packet(PESContext *pes, AVPacket *pkt) { + char *sd; + av_init_packet(pkt); pkt->buf = pes->buffer; @@ -891,6 +894,13 @@ static void new_pes_packet(PESContext *pes, AVPacket *pkt) pes->buffer = NULL; reset_pes_packet_state(pes); + + sd = av_packet_new_side_data(pkt, AV_PKT_DATA_MPEGTS_STREAM_ID, 1); + if (!sd) + return AVERROR(ENOMEM); + *sd = pes->stream_id; + + return 0; } static uint64_t get_ts64(GetBitContext *gb, int bits) @@ -979,14 +989,16 @@ static int mpegts_push_data(MpegTSFilter *filter, PESContext *pes = filter->u.pes_filter.opaque; MpegTSContext *ts = pes->ts; const uint8_t *p; - int len, code; + int ret, len, code; if (!ts->pkt) return 0; if (is_start) { if (pes->state == MPEGTS_PAYLOAD && pes->data_index > 0) { - new_pes_packet(pes, ts->pkt); + ret = new_pes_packet(pes, ts->pkt); + if (ret < 0) + return ret; ts->stop_parse = 1; } else { reset_pes_packet_state(pes); @@ -1014,6 +1026,7 @@ static int mpegts_push_data(MpegTSFilter *filter, code = pes->header[3] | 0x100; av_log(pes->stream, AV_LOG_TRACE, "pid=%x pes_code=%#x\n", pes->pid, code); + pes->stream_id = pes->header[3]; if ((pes->st && pes->st->discard == AVDISCARD_ALL && (!pes->sub_st || @@ -1197,7 +1210,9 @@ skip: if (pes->buffer) { if (pes->data_index > 0 && pes->data_index + buf_size > pes->total_size) { - new_pes_packet(pes, ts->pkt); + ret = new_pes_packet(pes, ts->pkt); + if (ret < 0) + return ret; pes->total_size = MAX_PES_PAYLOAD; pes->buffer = av_buffer_alloc(pes->total_size + AV_INPUT_BUFFER_PADDING_SIZE); @@ -1220,7 +1235,9 @@ skip: if (!ts->stop_parse && pes->total_size < MAX_PES_PAYLOAD && pes->pes_header_size + pes->data_index == pes->total_size + PES_START_SIZE) { ts->stop_parse = 1; - new_pes_packet(pes, ts->pkt); + ret = new_pes_packet(pes, ts->pkt); + if (ret < 0) + return ret; } } buf_size = 0; @@ -2663,7 +2680,9 @@ static int mpegts_read_packet(AVFormatContext *s, AVPacket *pkt) if (ts->pids[i] && ts->pids[i]->type == MPEGTS_PES) { PESContext *pes = ts->pids[i]->u.pes_filter.opaque; if (pes->state == MPEGTS_PAYLOAD && pes->data_index > 0) { - new_pes_packet(pes, pkt); + ret = new_pes_packet(pes, pkt); + if (ret < 0) + return ret; pes->state = MPEGTS_SKIP; ret = 0; break; diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index 765672067a..68f98673da 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -1111,7 +1111,7 @@ static uint8_t *get_ts_payload_start(uint8_t *pkt) * NOTE: 'payload' contains a complete PES payload. */ static void mpegts_write_pes(AVFormatContext *s, AVStream *st, const uint8_t *payload, int payload_size, - int64_t pts, int64_t dts, int key) + int64_t pts, int64_t dts, int key, int stream_id) { MpegTSWriteStream *ts_st = st->priv_data; MpegTSWrite *ts = s->priv_data; @@ -1208,6 +1208,11 @@ static void mpegts_write_pes(AVFormatContext *s, AVStream *st, st->codec->codec_id == AV_CODEC_ID_AC3 && ts->m2ts_mode) { *q++ = 0xfd; + } else if (st->codec->codec_type == AVMEDIA_TYPE_DATA) { + *q++ = stream_id != -1 ? stream_id : 0xfc; + + if (stream_id == 0xbd) /* asynchronous KLV */ + pts = dts = AV_NOPTS_VALUE; } else { *q++ = 0xbd; if (st->codec->codec_type == AVMEDIA_TYPE_SUBTITLE) { @@ -1451,6 +1456,15 @@ static int mpegts_write_packet_internal(AVFormatContext *s, AVPacket *pkt) const int64_t delay = av_rescale(s->max_delay, 90000, AV_TIME_BASE) * 2; int64_t dts = pkt->dts, pts = pkt->pts; int opus_samples = 0; + int side_data_size; + char *side_data = NULL; + int stream_id = -1; + + side_data = av_packet_get_side_data(pkt, + AV_PKT_DATA_MPEGTS_STREAM_ID, + &side_data_size); + if (side_data) + stream_id = side_data[0]; if (ts->reemit_pat_pmt) { av_log(s, AV_LOG_WARNING, @@ -1629,8 +1643,8 @@ static int mpegts_write_packet_internal(AVFormatContext *s, AVPacket *pkt) if ( ts_st2->payload_size && (ts_st2->payload_dts == AV_NOPTS_VALUE || dts - ts_st2->payload_dts > delay/2)) { mpegts_write_pes(s, st2, ts_st2->payload, ts_st2->payload_size, - ts_st2->payload_pts, ts_st2->payload_dts, - ts_st2->payload_flags & AV_PKT_FLAG_KEY); + ts_st2->payload_pts, ts_st2->payload_dts, + ts_st2->payload_flags & AV_PKT_FLAG_KEY, stream_id); ts_st2->payload_size = 0; } } @@ -1643,7 +1657,7 @@ static int mpegts_write_packet_internal(AVFormatContext *s, AVPacket *pkt) ts_st->opus_queued_samples + opus_samples >= 5760 /* 120ms */)) { mpegts_write_pes(s, st, ts_st->payload, ts_st->payload_size, ts_st->payload_pts, ts_st->payload_dts, - ts_st->payload_flags & AV_PKT_FLAG_KEY); + ts_st->payload_flags & AV_PKT_FLAG_KEY, stream_id); ts_st->payload_size = 0; ts_st->opus_queued_samples = 0; } @@ -1652,7 +1666,7 @@ static int mpegts_write_packet_internal(AVFormatContext *s, AVPacket *pkt) av_assert0(!ts_st->payload_size); // for video and subtitle, write a single pes packet mpegts_write_pes(s, st, buf, size, pts, dts, - pkt->flags & AV_PKT_FLAG_KEY); + pkt->flags & AV_PKT_FLAG_KEY, stream_id); ts_st->opus_queued_samples = 0; av_free(data); return 0; @@ -1684,7 +1698,7 @@ static void mpegts_write_flush(AVFormatContext *s) if (ts_st->payload_size > 0) { mpegts_write_pes(s, st, ts_st->payload, ts_st->payload_size, ts_st->payload_pts, ts_st->payload_dts, - ts_st->payload_flags & AV_PKT_FLAG_KEY); + ts_st->payload_flags & AV_PKT_FLAG_KEY, -1); ts_st->payload_size = 0; ts_st->opus_queued_samples = 0; } diff --git a/tests/ref/fate/concat-demuxer-simple2-lavf-ts b/tests/ref/fate/concat-demuxer-simple2-lavf-ts index fb2713cddf..4a50f52c6f 100644 --- a/tests/ref/fate/concat-demuxer-simple2-lavf-ts +++ b/tests/ref/fate/concat-demuxer-simple2-lavf-ts @@ -1,12 +1,12 @@ -video|1|982|0.010911|-2618|-0.029089|3600|0.040000|N/A|N/A|24801|564|K -video|1|4582|0.050911|982|0.010911|3600|0.040000|N/A|N/A|16429|27072|_ -video|1|8182|0.090911|4582|0.050911|3600|0.040000|N/A|N/A|14508|44932|_ -video|1|11782|0.130911|8182|0.090911|3600|0.040000|N/A|N/A|12622|60536|_ -video|1|15382|0.170911|11782|0.130911|3600|0.040000|N/A|N/A|13393|74260|_ -video|1|18982|0.210911|15382|0.170911|3600|0.040000|N/A|N/A|13092|88924|_ -video|1|22582|0.250911|18982|0.210911|3600|0.040000|N/A|N/A|12755|102836|_ -video|1|26182|0.290911|22582|0.250911|3600|0.040000|N/A|N/A|12023|116748|_ -audio|0|0|0.000000|0|0.000000|2351|0.026122|N/A|N/A|208|159988|K +video|1|982|0.010911|-2618|-0.029089|3600|0.040000|N/A|N/A|24815|564|K +video|1|4582|0.050911|982|0.010911|3600|0.040000|N/A|N/A|16443|27072|_ +video|1|8182|0.090911|4582|0.050911|3600|0.040000|N/A|N/A|14522|44932|_ +video|1|11782|0.130911|8182|0.090911|3600|0.040000|N/A|N/A|12636|60536|_ +video|1|15382|0.170911|11782|0.130911|3600|0.040000|N/A|N/A|13407|74260|_ +video|1|18982|0.210911|15382|0.170911|3600|0.040000|N/A|N/A|13106|88924|_ +video|1|22582|0.250911|18982|0.210911|3600|0.040000|N/A|N/A|12769|102836|_ +video|1|26182|0.290911|22582|0.250911|3600|0.040000|N/A|N/A|12037|116748|_ +audio|0|0|0.000000|0|0.000000|2351|0.026122|N/A|N/A|222|159988|K audio|0|2351|0.026122|2351|0.026122|2351|0.026122|N/A|N/A|209|N/A|K audio|0|4702|0.052244|4702|0.052244|2351|0.026122|N/A|N/A|209|N/A|K audio|0|7053|0.078367|7053|0.078367|2351|0.026122|N/A|N/A|209|N/A|K @@ -20,17 +20,17 @@ audio|0|23510|0.261222|23510|0.261222|2351|0.026122|N/A|N/A|209|N/A|K audio|0|25861|0.287344|25861|0.287344|2351|0.026122|N/A|N/A|209|N/A|K audio|0|28212|0.313467|28212|0.313467|2351|0.026122|N/A|N/A|209|N/A|K audio|0|30563|0.339589|30563|0.339589|2351|0.026122|N/A|N/A|209|N/A|K -video|1|29782|0.330911|26182|0.290911|3600|0.040000|N/A|N/A|14098|130096|_ -video|1|33382|0.370911|29782|0.330911|3600|0.040000|N/A|N/A|13329|145324|_ -video|1|36982|0.410911|33382|0.370911|3600|0.040000|N/A|N/A|12135|162996|_ -video|1|40582|0.450911|36982|0.410911|3600|0.040000|N/A|N/A|12282|176344|_ -video|1|44182|0.490911|40582|0.450911|3600|0.040000|N/A|N/A|24786|189692|K -video|1|47782|0.530911|44182|0.490911|3600|0.040000|N/A|N/A|17440|216388|_ -video|1|51382|0.570911|47782|0.530911|3600|0.040000|N/A|N/A|15019|235000|_ -video|1|54982|0.610911|51382|0.570911|3600|0.040000|N/A|N/A|13449|251356|_ -video|1|58582|0.650911|54982|0.610911|3600|0.040000|N/A|N/A|12398|266020|_ -video|1|62182|0.690911|58582|0.650911|3600|0.040000|N/A|N/A|13455|279744|_ -audio|0|32915|0.365722|32915|0.365722|2351|0.026122|N/A|N/A|209|322608|K +video|1|29782|0.330911|26182|0.290911|3600|0.040000|N/A|N/A|14112|130096|_ +video|1|33382|0.370911|29782|0.330911|3600|0.040000|N/A|N/A|13343|145324|_ +video|1|36982|0.410911|33382|0.370911|3600|0.040000|N/A|N/A|12149|162996|_ +video|1|40582|0.450911|36982|0.410911|3600|0.040000|N/A|N/A|12296|176344|_ +video|1|44182|0.490911|40582|0.450911|3600|0.040000|N/A|N/A|24800|189692|K +video|1|47782|0.530911|44182|0.490911|3600|0.040000|N/A|N/A|17454|216388|_ +video|1|51382|0.570911|47782|0.530911|3600|0.040000|N/A|N/A|15033|235000|_ +video|1|54982|0.610911|51382|0.570911|3600|0.040000|N/A|N/A|13463|251356|_ +video|1|58582|0.650911|54982|0.610911|3600|0.040000|N/A|N/A|12412|266020|_ +video|1|62182|0.690911|58582|0.650911|3600|0.040000|N/A|N/A|13469|279744|_ +audio|0|32915|0.365722|32915|0.365722|2351|0.026122|N/A|N/A|223|322608|K audio|0|35266|0.391844|35266|0.391844|2351|0.026122|N/A|N/A|209|N/A|K audio|0|37617|0.417967|37617|0.417967|2351|0.026122|N/A|N/A|209|N/A|K audio|0|39968|0.444089|39968|0.444089|2351|0.026122|N/A|N/A|209|N/A|K @@ -44,12 +44,12 @@ audio|0|56425|0.626944|56425|0.626944|2351|0.026122|N/A|N/A|209|N/A|K audio|0|58776|0.653067|58776|0.653067|2351|0.026122|N/A|N/A|209|N/A|K audio|0|61127|0.679189|61127|0.679189|2351|0.026122|N/A|N/A|209|N/A|K audio|0|63478|0.705311|63478|0.705311|2351|0.026122|N/A|N/A|209|N/A|K -video|1|65782|0.730911|62182|0.690911|3600|0.040000|N/A|N/A|13836|294408|_ -video|1|69382|0.770911|65782|0.730911|3600|0.040000|N/A|N/A|12163|309448|_ -video|1|72982|0.810911|69382|0.770911|3600|0.040000|N/A|N/A|12692|325992|_ -video|1|76582|0.850911|72982|0.810911|3600|0.040000|N/A|N/A|10824|339528|_ -video|1|80182|0.890911|76582|0.850911|3600|0.040000|N/A|N/A|11286|351372|_ -audio|0|65829|0.731433|65829|0.731433|2351|0.026122|N/A|N/A|209|404576|K +video|1|65782|0.730911|62182|0.690911|3600|0.040000|N/A|N/A|13850|294408|_ +video|1|69382|0.770911|65782|0.730911|3600|0.040000|N/A|N/A|12177|309448|_ +video|1|72982|0.810911|69382|0.770911|3600|0.040000|N/A|N/A|12706|325992|_ +video|1|76582|0.850911|72982|0.810911|3600|0.040000|N/A|N/A|10838|339528|_ +video|1|80182|0.890911|76582|0.850911|3600|0.040000|N/A|N/A|11300|351372|_ +audio|0|65829|0.731433|65829|0.731433|2351|0.026122|N/A|N/A|223|404576|K audio|0|68180|0.757556|68180|0.757556|2351|0.026122|N/A|N/A|209|N/A|K audio|0|70531|0.783678|70531|0.783678|2351|0.026122|N/A|N/A|209|N/A|K audio|0|72882|0.809800|72882|0.809800|2351|0.026122|N/A|N/A|209|N/A|K @@ -60,17 +60,17 @@ audio|0|82286|0.914289|82286|0.914289|2351|0.026122|N/A|N/A|209|N/A|K audio|0|84637|0.940411|84637|0.940411|2351|0.026122|N/A|N/A|209|N/A|K audio|0|86988|0.966533|86988|0.966533|2351|0.026122|N/A|N/A|209|N/A|K audio|0|89339|0.992656|89339|0.992656|2351|0.026122|N/A|N/A|209|N/A|K -video|1|83782|0.930911|80182|0.890911|3600|0.040000|N/A|N/A|12678|363592|_ +video|1|83782|0.930911|80182|0.890911|3600|0.040000|N/A|N/A|12692|363592|_ video|1|87382|0.970911|83782|0.930911|3600|0.040000|N/A|N/A|24711|377880|K -video|1|91964|1.021822|88364|0.981822|3600|0.040000|N/A|N/A|24801|564|K -video|1|95564|1.061822|91964|1.021822|3600|0.040000|N/A|N/A|16429|27072|_ -video|1|99164|1.101822|95564|1.061822|3600|0.040000|N/A|N/A|14508|44932|_ -video|1|102764|1.141822|99164|1.101822|3600|0.040000|N/A|N/A|12622|60536|_ -video|1|106364|1.181822|102764|1.141822|3600|0.040000|N/A|N/A|13393|74260|_ -video|1|109964|1.221822|106364|1.181822|3600|0.040000|N/A|N/A|13092|88924|_ -video|1|113564|1.261822|109964|1.221822|3600|0.040000|N/A|N/A|12755|102836|_ -video|1|117164|1.301822|113564|1.261822|3600|0.040000|N/A|N/A|12023|116748|_ -audio|0|90982|1.010911|90982|1.010911|2351|0.026122|N/A|N/A|208|159988|K +video|1|91964|1.021822|88364|0.981822|3600|0.040000|N/A|N/A|24815|564|K +video|1|95564|1.061822|91964|1.021822|3600|0.040000|N/A|N/A|16443|27072|_ +video|1|99164|1.101822|95564|1.061822|3600|0.040000|N/A|N/A|14522|44932|_ +video|1|102764|1.141822|99164|1.101822|3600|0.040000|N/A|N/A|12636|60536|_ +video|1|106364|1.181822|102764|1.141822|3600|0.040000|N/A|N/A|13407|74260|_ +video|1|109964|1.221822|106364|1.181822|3600|0.040000|N/A|N/A|13106|88924|_ +video|1|113564|1.261822|109964|1.221822|3600|0.040000|N/A|N/A|12769|102836|_ +video|1|117164|1.301822|113564|1.261822|3600|0.040000|N/A|N/A|12037|116748|_ +audio|0|90982|1.010911|90982|1.010911|2351|0.026122|N/A|N/A|222|159988|K audio|0|93333|1.037033|93333|1.037033|2351|0.026122|N/A|N/A|209|N/A|K audio|0|95684|1.063156|95684|1.063156|2351|0.026122|N/A|N/A|209|N/A|K audio|0|98035|1.089278|98035|1.089278|2351|0.026122|N/A|N/A|209|N/A|K @@ -84,17 +84,17 @@ audio|0|114492|1.272133|114492|1.272133|2351|0.026122|N/A|N/A|209|N/A|K audio|0|116843|1.298256|116843|1.298256|2351|0.026122|N/A|N/A|209|N/A|K audio|0|119194|1.324378|119194|1.324378|2351|0.026122|N/A|N/A|209|N/A|K audio|0|121545|1.350500|121545|1.350500|2351|0.026122|N/A|N/A|209|N/A|K -video|1|120764|1.341822|117164|1.301822|3600|0.040000|N/A|N/A|14098|130096|_ -video|1|124364|1.381822|120764|1.341822|3600|0.040000|N/A|N/A|13329|145324|_ -video|1|127964|1.421822|124364|1.381822|3600|0.040000|N/A|N/A|12135|162996|_ -video|1|131564|1.461822|127964|1.421822|3600|0.040000|N/A|N/A|12282|176344|_ -video|1|135164|1.501822|131564|1.461822|3600|0.040000|N/A|N/A|24786|189692|K -video|1|138764|1.541822|135164|1.501822|3600|0.040000|N/A|N/A|17440|216388|_ -video|1|142364|1.581822|138764|1.541822|3600|0.040000|N/A|N/A|15019|235000|_ -video|1|145964|1.621822|142364|1.581822|3600|0.040000|N/A|N/A|13449|251356|_ -video|1|149564|1.661822|145964|1.621822|3600|0.040000|N/A|N/A|12398|266020|_ -video|1|153164|1.701822|149564|1.661822|3600|0.040000|N/A|N/A|13455|279744|_ -audio|0|123897|1.376633|123897|1.376633|2351|0.026122|N/A|N/A|209|322608|K +video|1|120764|1.341822|117164|1.301822|3600|0.040000|N/A|N/A|14112|130096|_ +video|1|124364|1.381822|120764|1.341822|3600|0.040000|N/A|N/A|13343|145324|_ +video|1|127964|1.421822|124364|1.381822|3600|0.040000|N/A|N/A|12149|162996|_ +video|1|131564|1.461822|127964|1.421822|3600|0.040000|N/A|N/A|12296|176344|_ +video|1|135164|1.501822|131564|1.461822|3600|0.040000|N/A|N/A|24800|189692|K +video|1|138764|1.541822|135164|1.501822|3600|0.040000|N/A|N/A|17454|216388|_ +video|1|142364|1.581822|138764|1.541822|3600|0.040000|N/A|N/A|15033|235000|_ +video|1|145964|1.621822|142364|1.581822|3600|0.040000|N/A|N/A|13463|251356|_ +video|1|149564|1.661822|145964|1.621822|3600|0.040000|N/A|N/A|12412|266020|_ +video|1|153164|1.701822|149564|1.661822|3600|0.040000|N/A|N/A|13469|279744|_ +audio|0|123897|1.376633|123897|1.376633|2351|0.026122|N/A|N/A|223|322608|K audio|0|126248|1.402756|126248|1.402756|2351|0.026122|N/A|N/A|209|N/A|K audio|0|128599|1.428878|128599|1.428878|2351|0.026122|N/A|N/A|209|N/A|K audio|0|130950|1.455000|130950|1.455000|2351|0.026122|N/A|N/A|209|N/A|K @@ -108,12 +108,12 @@ audio|0|147407|1.637856|147407|1.637856|2351|0.026122|N/A|N/A|209|N/A|K audio|0|149758|1.663978|149758|1.663978|2351|0.026122|N/A|N/A|209|N/A|K audio|0|152109|1.690100|152109|1.690100|2351|0.026122|N/A|N/A|209|N/A|K audio|0|154460|1.716222|154460|1.716222|2351|0.026122|N/A|N/A|209|N/A|K -video|1|156764|1.741822|153164|1.701822|3600|0.040000|N/A|N/A|13836|294408|_ -video|1|160364|1.781822|156764|1.741822|3600|0.040000|N/A|N/A|12163|309448|_ -video|1|163964|1.821822|160364|1.781822|3600|0.040000|N/A|N/A|12692|325992|_ -video|1|167564|1.861822|163964|1.821822|3600|0.040000|N/A|N/A|10824|339528|_ -video|1|171164|1.901822|167564|1.861822|3600|0.040000|N/A|N/A|11286|351372|_ -audio|0|156811|1.742344|156811|1.742344|2351|0.026122|N/A|N/A|209|404576|K +video|1|156764|1.741822|153164|1.701822|3600|0.040000|N/A|N/A|13850|294408|_ +video|1|160364|1.781822|156764|1.741822|3600|0.040000|N/A|N/A|12177|309448|_ +video|1|163964|1.821822|160364|1.781822|3600|0.040000|N/A|N/A|12706|325992|_ +video|1|167564|1.861822|163964|1.821822|3600|0.040000|N/A|N/A|10838|339528|_ +video|1|171164|1.901822|167564|1.861822|3600|0.040000|N/A|N/A|11300|351372|_ +audio|0|156811|1.742344|156811|1.742344|2351|0.026122|N/A|N/A|223|404576|K audio|0|159162|1.768467|159162|1.768467|2351|0.026122|N/A|N/A|209|N/A|K audio|0|161513|1.794589|161513|1.794589|2351|0.026122|N/A|N/A|209|N/A|K audio|0|163864|1.820711|163864|1.820711|2351|0.026122|N/A|N/A|209|N/A|K @@ -124,12 +124,12 @@ audio|0|173268|1.925200|173268|1.925200|2351|0.026122|N/A|N/A|209|N/A|K audio|0|175619|1.951322|175619|1.951322|2351|0.026122|N/A|N/A|209|N/A|K audio|0|177970|1.977444|177970|1.977444|2351|0.026122|N/A|N/A|209|N/A|K audio|0|180321|2.003567|180321|2.003567|2351|0.026122|N/A|N/A|209|N/A|K -video|1|174764|1.941822|171164|1.901822|3600|0.040000|N/A|N/A|12678|363592|_ +video|1|174764|1.941822|171164|1.901822|3600|0.040000|N/A|N/A|12692|363592|_ video|1|178364|1.981822|174764|1.941822|3600|0.040000|N/A|N/A|24711|377880|K -video|1|139582|1.550911|135982|1.510911|3600|0.040000|N/A|N/A|12692|325992|_ -video|1|143182|1.590911|139582|1.550911|3600|0.040000|N/A|N/A|10824|339528|_ -video|1|146782|1.630911|143182|1.590911|3600|0.040000|N/A|N/A|11286|351372|_ -audio|0|132429|1.471433|132429|1.471433|2351|0.026122|N/A|N/A|209|404576|K +video|1|139582|1.550911|135982|1.510911|3600|0.040000|N/A|N/A|12706|325992|_ +video|1|143182|1.590911|139582|1.550911|3600|0.040000|N/A|N/A|10838|339528|_ +video|1|146782|1.630911|143182|1.590911|3600|0.040000|N/A|N/A|11300|351372|_ +audio|0|132429|1.471433|132429|1.471433|2351|0.026122|N/A|N/A|223|404576|K audio|0|134780|1.497556|134780|1.497556|2351|0.026122|N/A|N/A|209|N/A|K audio|0|137131|1.523678|137131|1.523678|2351|0.026122|N/A|N/A|209|N/A|K audio|0|139482|1.549800|139482|1.549800|2351|0.026122|N/A|N/A|209|N/A|K @@ -140,12 +140,12 @@ audio|0|148886|1.654289|148886|1.654289|2351|0.026122|N/A|N/A|209|N/A|K audio|0|151237|1.680411|151237|1.680411|2351|0.026122|N/A|N/A|209|N/A|K audio|0|153588|1.706533|153588|1.706533|2351|0.026122|N/A|N/A|209|N/A|K audio|0|155939|1.732656|155939|1.732656|2351|0.026122|N/A|N/A|209|N/A|K -video|1|150382|1.670911|146782|1.630911|3600|0.040000|N/A|N/A|12678|363592|_ +video|1|150382|1.670911|146782|1.630911|3600|0.040000|N/A|N/A|12692|363592|_ video|1|153982|1.710911|150382|1.670911|3600|0.040000|N/A|N/A|24711|377880|K -video|1|161182|1.790911|157582|1.750911|3600|0.040000|N/A|N/A|12135|162996|_ -video|1|164782|1.830911|161182|1.790911|3600|0.040000|N/A|N/A|12282|176344|_ -video|1|168382|1.870911|164782|1.830911|3600|0.040000|N/A|N/A|24786|189692|K -video|1|171982|1.910911|168382|1.870911|3600|0.040000|N/A|N/A|17440|216388|_ -video|1|175582|1.950911|171982|1.910911|3600|0.040000|N/A|N/A|15019|235000|_ +video|1|161182|1.790911|157582|1.750911|3600|0.040000|N/A|N/A|12149|162996|_ +video|1|164782|1.830911|161182|1.790911|3600|0.040000|N/A|N/A|12296|176344|_ +video|1|168382|1.870911|164782|1.830911|3600|0.040000|N/A|N/A|24800|189692|K +video|1|171982|1.910911|168382|1.870911|3600|0.040000|N/A|N/A|17454|216388|_ +video|1|175582|1.950911|171982|1.910911|3600|0.040000|N/A|N/A|15033|235000|_ 0|mp2|unknown|audio|1/44100|[3][0][0][0]|0x0003|s16p|44100|1|mono|0|N/A|0/0|0/0|1/90000|0|0.000000|N/A|N/A|64000|N/A|N/A|N/A|N/A|89|0|0|0|0|0|0|0|0|0|0|0 1|mpeg2video|4|video|1/50|[2][0][0][0]|0x0002|352|288|0|0|1|1:1|11:9|yuv420p|8|tv|unknown|unknown|unknown|left|00:00:00:00|1|N/A|25/1|25/1|1/90000|N/A|N/A|N/A|N/A|N/A|104857200|N/A|N/A|N/A|60|0|0|0|0|0|0|0|0|0|0|0 diff --git a/tests/ref/seek/lavf-ts b/tests/ref/seek/lavf-ts index e57651ef9c..f9808242f0 100644 --- a/tests/ref/seek/lavf-ts +++ b/tests/ref/seek/lavf-ts @@ -1,53 +1,53 @@ -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st:-1 flags:0 ts:-1.000000 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st:-1 flags:1 ts: 1.894167 -ret: 0 st: 0 flags:1 dts: 1.880000 pts: 1.920000 pos: 189692 size: 24786 +ret: 0 st: 0 flags:1 dts: 1.880000 pts: 1.920000 pos: 189692 size: 24800 ret: 0 st: 0 flags:0 ts: 0.788333 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st: 0 flags:1 ts:-0.317500 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st: 1 flags:0 ts: 2.576667 -ret: 0 st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 404576 size: 209 +ret: 0 st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 404576 size: 223 ret: 0 st: 1 flags:1 ts: 1.470833 -ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 208 +ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 222 ret: 0 st:-1 flags:0 ts: 0.365002 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st:-1 flags:1 ts:-0.740831 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st: 0 flags:0 ts: 2.153333 -ret: 0 st: 1 flags:1 dts: 1.794811 pts: 1.794811 pos: 322608 size: 209 +ret: 0 st: 1 flags:1 dts: 1.794811 pts: 1.794811 pos: 322608 size: 223 ret: 0 st: 0 flags:1 ts: 1.047500 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st: 1 flags:0 ts:-0.058333 -ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 208 +ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 222 ret: 0 st: 1 flags:1 ts: 2.835833 -ret: 0 st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 404576 size: 209 +ret: 0 st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 404576 size: 223 ret: 0 st:-1 flags:0 ts: 1.730004 -ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 208 +ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 222 ret: 0 st:-1 flags:1 ts: 0.624171 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st: 0 flags:0 ts:-0.481667 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st: 0 flags:1 ts: 2.412500 -ret: 0 st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 404576 size: 209 +ret: 0 st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 404576 size: 223 ret: 0 st: 1 flags:0 ts: 1.306667 -ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 208 +ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 222 ret: 0 st: 1 flags:1 ts: 0.200844 -ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 208 +ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 222 ret: 0 st:-1 flags:0 ts:-0.904994 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st:-1 flags:1 ts: 1.989173 -ret: 0 st: 0 flags:0 dts: 1.960000 pts: 2.000000 pos: 235000 size: 15019 +ret: 0 st: 0 flags:0 dts: 1.960000 pts: 2.000000 pos: 235000 size: 15033 ret: 0 st: 0 flags:0 ts: 0.883344 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st: 0 flags:1 ts:-0.222489 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st: 1 flags:0 ts: 2.671678 -ret: 0 st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 404576 size: 209 +ret: 0 st: 1 flags:1 dts: 2.160522 pts: 2.160522 pos: 404576 size: 223 ret: 0 st: 1 flags:1 ts: 1.565844 -ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 208 +ret: 0 st: 1 flags:1 dts: 1.429089 pts: 1.429089 pos: 159988 size: 222 ret: 0 st:-1 flags:0 ts: 0.460008 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815 ret: 0 st:-1 flags:1 ts:-0.645825 -ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24801 +ret: 0 st: 0 flags:1 dts: 1.400000 pts: 1.440000 pos: 564 size: 24815