mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-24 16:22:37 +00:00
muxers: Add a flag to mark muxers that allow (non strict) monotone timestamps.
This commit is contained in:
parent
2b6bfff2b2
commit
094aa84b03
@ -262,6 +262,9 @@ typedef struct AVFormatParameters {
|
|||||||
#define AVFMT_NOSTREAMS 0x1000 /**< Format does not require any streams */
|
#define AVFMT_NOSTREAMS 0x1000 /**< Format does not require any streams */
|
||||||
#define AVFMT_NOBINSEARCH 0x2000 /**< Format does not allow to fallback to binary search via read_timestamp */
|
#define AVFMT_NOBINSEARCH 0x2000 /**< Format does not allow to fallback to binary search via read_timestamp */
|
||||||
#define AVFMT_NOGENSEARCH 0x4000 /**< Format does not allow to fallback to generic search */
|
#define AVFMT_NOGENSEARCH 0x4000 /**< Format does not allow to fallback to generic search */
|
||||||
|
#define AVFMT_TS_NONSTRICT 0x8000 /**< Format does not require strictly
|
||||||
|
increasing timestamps, but they must
|
||||||
|
still be monotonic */
|
||||||
|
|
||||||
typedef struct AVOutputFormat {
|
typedef struct AVOutputFormat {
|
||||||
const char *name;
|
const char *name;
|
||||||
|
@ -1220,7 +1220,7 @@ AVOutputFormat ff_webm_muxer = {
|
|||||||
mkv_write_header,
|
mkv_write_header,
|
||||||
mkv_write_packet,
|
mkv_write_packet,
|
||||||
mkv_write_trailer,
|
mkv_write_trailer,
|
||||||
.flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS,
|
.flags = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS | AVFMT_TS_NONSTRICT,
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -2993,7 +2993,7 @@ static int compute_pkt_fields2(AVFormatContext *s, AVStream *st, AVPacket *pkt){
|
|||||||
pkt->dts= st->pts_buffer[0];
|
pkt->dts= st->pts_buffer[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
if(st->cur_dts && st->cur_dts != AV_NOPTS_VALUE && st->cur_dts >= pkt->dts){
|
if(st->cur_dts && st->cur_dts != AV_NOPTS_VALUE && ((!(s->oformat->flags & AVFMT_TS_NONSTRICT) && st->cur_dts >= pkt->dts) || st->cur_dts > pkt->dts)){
|
||||||
av_log(s, AV_LOG_ERROR,
|
av_log(s, AV_LOG_ERROR,
|
||||||
"Application provided invalid, non monotonically increasing dts to muxer in stream %d: %"PRId64" >= %"PRId64"\n",
|
"Application provided invalid, non monotonically increasing dts to muxer in stream %d: %"PRId64" >= %"PRId64"\n",
|
||||||
st->index, st->cur_dts, pkt->dts);
|
st->index, st->cur_dts, pkt->dts);
|
||||||
|
Loading…
Reference in New Issue
Block a user