diff mbox

[FFmpeg-devel] avformat/mxfdec: fix last packet timestamps

Message ID 20171122011011.4494-1-cus@passwd.hu
State Superseded
Headers show

Commit Message

Marton Balint Nov. 22, 2017, 1:10 a.m. UTC
Fixes the packet timestamps of the last packet, which was unset, or guessed by
compute_pkt_fields.

ffprobe -fflags nofillin -show_packets tests/data/lavf/lavf.mxf -select_streams v

Signed-off-by: Marton Balint <cus@passwd.hu>
---
 libavformat/mxfdec.c        |  8 ++++----
 tests/ref/seek/lavf-mxf_d10 | 12 ++++++------
 2 files changed, 10 insertions(+), 10 deletions(-)

Comments

Derek Buitenhuis Nov. 22, 2017, 2:14 p.m. UTC | #1
On 11/22/2017 1:10 AM, Marton Balint wrote:
> Fixes the packet timestamps of the last packet, which was unset, or guessed by
> compute_pkt_fields.
> 
> ffprobe -fflags nofillin -show_packets tests/data/lavf/lavf.mxf -select_streams v
> 
> Signed-off-by: Marton Balint <cus@passwd.hu>
> ---
>  libavformat/mxfdec.c        |  8 ++++----
>  tests/ref/seek/lavf-mxf_d10 | 12 ++++++------
>  2 files changed, 10 insertions(+), 10 deletions(-)

Can you add what the fix actually was to the commit message?

- Derek
Marton Balint Nov. 22, 2017, 10:25 p.m. UTC | #2
On Wed, 22 Nov 2017, Derek Buitenhuis wrote:

> On 11/22/2017 1:10 AM, Marton Balint wrote:
>> Fixes the packet timestamps of the last packet, which was unset, or guessed by
>> compute_pkt_fields.
>> 
>> ffprobe -fflags nofillin -show_packets tests/data/lavf/lavf.mxf -select_streams v
>> 
>> Signed-off-by: Marton Balint <cus@passwd.hu>
>> ---
>>  libavformat/mxfdec.c        |  8 ++++----
>>  tests/ref/seek/lavf-mxf_d10 | 12 ++++++------
>>  2 files changed, 10 insertions(+), 10 deletions(-)
>
> Can you add what the fix actually was to the commit message?
>

Hmm, the patch seems to break timestamps for some files so I will work on 
a new one anyway.

Regards,
Marton
diff mbox

Patch

diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c
index 118e3e40b4..ace5eaf687 100644
--- a/libavformat/mxfdec.c
+++ b/libavformat/mxfdec.c
@@ -3060,12 +3060,12 @@  static int mxf_set_audio_pts(MXFContext *mxf, AVCodecParameters *par,
     return 0;
 }
 
-static int mxf_set_pts(MXFContext *mxf, AVStream *st, AVPacket *pkt, int64_t next_ofs)
+static int mxf_set_pts(MXFContext *mxf, AVStream *st, AVPacket *pkt)
 {
     AVCodecParameters *par = st->codecpar;
     MXFTrack *track = st->priv_data;
 
-    if (par->codec_type == AVMEDIA_TYPE_VIDEO && next_ofs >= 0) {
+    if (par->codec_type == AVMEDIA_TYPE_VIDEO) {
         /* mxf->current_edit_unit good - see if we have an
          * index table to derive timestamps from */
         MXFIndexTable *t = &mxf->index_tables[0];
@@ -3152,7 +3152,7 @@  static int mxf_read_packet_old(AVFormatContext *s, AVPacket *pkt)
             pkt->stream_index = index;
             pkt->pos = klv.offset;
 
-            ret = mxf_set_pts(mxf, st, pkt, next_ofs);
+            ret = mxf_set_pts(mxf, st, pkt);
             if (ret < 0)
                 return ret;
 
@@ -3217,7 +3217,7 @@  static int mxf_read_packet(AVFormatContext *s, AVPacket *pkt)
 
     pkt->stream_index = st->index;
 
-    ret = mxf_set_pts(mxf, st, pkt, next_pos);
+    ret = mxf_set_pts(mxf, st, pkt);
     if (ret < 0)
         return ret;
 
diff --git a/tests/ref/seek/lavf-mxf_d10 b/tests/ref/seek/lavf-mxf_d10
index 17cca29c03..5a682f0927 100644
--- a/tests/ref/seek/lavf-mxf_d10
+++ b/tests/ref/seek/lavf-mxf_d10
@@ -8,9 +8,9 @@  ret: 0         st: 0 flags:1 dts: 0.800000 pts: 0.800000 pos:4265984 size:150000
 ret: 0         st: 0 flags:1  ts:-0.320000
 ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   6144 size:150000
 ret: 0         st: 1 flags:0  ts: 2.576667
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:5117952 size:150000
+ret: 0         st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos:5117952 size:150000
 ret: 0         st: 1 flags:1  ts: 1.470833
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:5117952 size:150000
+ret: 0         st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos:5117952 size:150000
 ret: 0         st:-1 flags:0  ts: 0.365002
 ret: 0         st: 0 flags:1 dts: 0.360000 pts: 0.360000 pos:1923072 size:150000
 ret: 0         st:-1 flags:1  ts:-0.740831
@@ -22,7 +22,7 @@  ret: 0         st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos:5117952 size:150000
 ret: 0         st: 1 flags:0  ts:-0.058333
 ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   6144 size:150000
 ret: 0         st: 1 flags:1  ts: 2.835833
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:5117952 size:150000
+ret: 0         st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos:5117952 size:150000
 ret: 0         st:-1 flags:0  ts: 1.730004
 ret: 0         st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos:5117952 size:150000
 ret: 0         st:-1 flags:1  ts: 0.624171
@@ -32,7 +32,7 @@  ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   6144 size:150000
 ret: 0         st: 0 flags:1  ts: 2.400000
 ret: 0         st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos:5117952 size:150000
 ret: 0         st: 1 flags:0  ts: 1.306667
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:5117952 size:150000
+ret: 0         st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos:5117952 size:150000
 ret: 0         st: 1 flags:1  ts: 0.200833
 ret: 0         st: 0 flags:1 dts: 0.200000 pts: 0.200000 pos:1071104 size:150000
 ret: 0         st:-1 flags:0  ts:-0.904994
@@ -44,9 +44,9 @@  ret: 0         st: 0 flags:1 dts: 0.880000 pts: 0.880000 pos:4691968 size:150000
 ret: 0         st: 0 flags:1  ts:-0.240000
 ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   6144 size:150000
 ret: 0         st: 1 flags:0  ts: 2.671667
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:5117952 size:150000
+ret: 0         st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos:5117952 size:150000
 ret: 0         st: 1 flags:1  ts: 1.565833
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:5117952 size:150000
+ret: 0         st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos:5117952 size:150000
 ret: 0         st:-1 flags:0  ts: 0.460008
 ret: 0         st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos:2562048 size:150000
 ret: 0         st:-1 flags:1  ts:-0.645825