[FFmpeg-devel] [PATCH 1/2] lavf/mux: allow muxing non monotonic timestamps
Lukasz M
lukasz.m.luki at gmail.com
Thu Jan 2 13:59:27 CET 2014
On 31 December 2013 22:24, Lukasz Marek <lukasz.m.luki at gmail.com> wrote:
> This is required by devices to avoid error when stream is seeked backward.
>
> Signed-off-by: Lukasz Marek <lukasz.m.luki at gmail.com>
> ---
> libavformat/avformat.h | 2 ++
> libavformat/mux.c | 2 +-
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/libavformat/avformat.h b/libavformat/avformat.h
> index 6d719d7..c64a71a 100644
> --- a/libavformat/avformat.h
> +++ b/libavformat/avformat.h
> @@ -377,6 +377,8 @@ typedef struct AVProbeData {
> AVFormatContext.avoid_negative_ts
> */
>
> +#define AVFMT_TS_ANY 0x80000 /**< Format allows muxing any (non
> monotonic) timestamps. */
> +
> #define AVFMT_SEEK_TO_PTS 0x4000000 /**< Seeking is based on PTS */
>
> /**
> diff --git a/libavformat/mux.c b/libavformat/mux.c
> index f01b82b..e07644f 100644
> --- a/libavformat/mux.c
> +++ b/libavformat/mux.c
> @@ -457,7 +457,7 @@ static int compute_pkt_fields2(AVFormatContext *s,
> AVStream *st, AVPacket *pkt)
> pkt->dts = st->pts_buffer[0];
> }
>
> - if (st->cur_dts && st->cur_dts != AV_NOPTS_VALUE &&
> + if (st->cur_dts && st->cur_dts != AV_NOPTS_VALUE &&
> !(s->oformat->flags & AVFMT_TS_ANY) &&
> ((!(s->oformat->flags & AVFMT_TS_NONSTRICT) &&
> st->cur_dts >= pkt->dts) || st->cur_dts > pkt->dts)) {
> av_log(s, AV_LOG_ERROR,
> --
> 1.8.3.2
>
Any remarks about that? If not I'd like to ask for merge.
More information about the ffmpeg-devel
mailing list