aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-11-18 02:38:38 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-11-18 02:46:07 +0100
commit9943c5a42bdf8412f60e8a33489d6f2a8b1b9d61 (patch)
treea1dd73d724ac6e4e34cb818f9bd3d7b309be347c
parentafbaa9a737b3546c12fdf328016cc1e587d65dc9 (diff)
parent9257692ac15eff7b07540c1f61cebde0d8823fbd (diff)
downloadffmpeg-9943c5a42bdf8412f60e8a33489d6f2a8b1b9d61.tar.gz
Merge commit '9257692ac15eff7b07540c1f61cebde0d8823fbd'
* commit '9257692ac15eff7b07540c1f61cebde0d8823fbd': lavf: Only initialize s->offset once when using avoid_negative_ts make_zero Conflicts: libavformat/mux.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavformat/mux.c4
-rw-r--r--libavformat/options.c1
-rw-r--r--tests/ref/lavf/ismv12
3 files changed, 9 insertions, 8 deletions
diff --git a/libavformat/mux.c b/libavformat/mux.c
index 3fb4a012cf..a09e33cfdd 100644
--- a/libavformat/mux.c
+++ b/libavformat/mux.c
@@ -557,13 +557,13 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt)
AVStream *st = s->streams[pkt->stream_index];
int64_t offset = st->mux_ts_offset;
- if (!s->offset && pkt->dts != AV_NOPTS_VALUE &&
+ if (s->offset == AV_NOPTS_VALUE && pkt->dts != AV_NOPTS_VALUE &&
(pkt->dts < 0 || s->avoid_negative_ts == AVFMT_AVOID_NEG_TS_MAKE_ZERO)) {
s->offset = -pkt->dts;
s->offset_timebase = st->time_base;
}
- if (s->offset && !offset) {
+ if (s->offset != AV_NOPTS_VALUE && !offset) {
offset = st->mux_ts_offset =
av_rescale_q_rnd(s->offset,
s->offset_timebase,
diff --git a/libavformat/options.c b/libavformat/options.c
index e0d6df6fbd..504404312c 100644
--- a/libavformat/options.c
+++ b/libavformat/options.c
@@ -110,6 +110,7 @@ AVFormatContext *avformat_alloc_context(void)
ic = av_malloc(sizeof(AVFormatContext));
if (!ic) return ic;
avformat_get_context_defaults(ic);
+ ic->offset = AV_NOPTS_VALUE;
ic->internal = av_mallocz(sizeof(*ic->internal));
if (!ic->internal) {
diff --git a/tests/ref/lavf/ismv b/tests/ref/lavf/ismv
index ab2975f0bf..f29b5ff3ef 100644
--- a/tests/ref/lavf/ismv
+++ b/tests/ref/lavf/ismv
@@ -1,9 +1,9 @@
-b1106bfcdbd1bb12be9161320351dd00 *./tests/data/lavf/lavf.ismv
+a9ccbb4cd1436d222ef4425567b4e03d *./tests/data/lavf/lavf.ismv
312542 ./tests/data/lavf/lavf.ismv
-./tests/data/lavf/lavf.ismv CRC=0xb7d29d29
-c8bea6c84b6274f14042381045b0f532 *./tests/data/lavf/lavf.ismv
+./tests/data/lavf/lavf.ismv CRC=0x9d9a638a
+440d85f9fd5b9f63c2676638782b5c15 *./tests/data/lavf/lavf.ismv
321448 ./tests/data/lavf/lavf.ismv
-./tests/data/lavf/lavf.ismv CRC=0x33834815
-b1106bfcdbd1bb12be9161320351dd00 *./tests/data/lavf/lavf.ismv
+./tests/data/lavf/lavf.ismv CRC=0xe8130120
+a9ccbb4cd1436d222ef4425567b4e03d *./tests/data/lavf/lavf.ismv
312542 ./tests/data/lavf/lavf.ismv
-./tests/data/lavf/lavf.ismv CRC=0xb7d29d29
+./tests/data/lavf/lavf.ismv CRC=0x9d9a638a