[FFmpeg-cvslog] r21361 - in trunk/libavformat: ape.c mpc.c wv.c

conrad subversion
Thu Jan 21 10:47:02 CET 2010


Author: conrad
Date: Thu Jan 21 10:47:02 2010
New Revision: 21361

Log:
Set start_time and duration in AVStream instead of AVFormatContext for
formats with only one stream; the AVFormatContext values will be derived from
the AVStream and this helps in calculating stream bitrate.

Modified:
   trunk/libavformat/ape.c
   trunk/libavformat/mpc.c
   trunk/libavformat/wv.c

Modified: trunk/libavformat/ape.c
==============================================================================
--- trunk/libavformat/ape.c	Thu Jan 21 10:46:57 2010	(r21360)
+++ trunk/libavformat/ape.c	Thu Jan 21 10:47:02 2010	(r21361)
@@ -310,8 +310,8 @@ static int ape_read_header(AVFormatConte
     st->codec->frame_size      = MAC_SUBFRAME_SIZE;
 
     st->nb_frames = ape->totalframes;
-    s->start_time = 0;
-    s->duration   = (int64_t) total_blocks * AV_TIME_BASE / ape->samplerate;
+    st->start_time = 0;
+    st->duration  = total_blocks / MAC_SUBFRAME_SIZE;
     av_set_pts_info(st, 64, MAC_SUBFRAME_SIZE, ape->samplerate);
 
     st->codec->extradata = av_malloc(APE_EXTRADATA_SIZE);

Modified: trunk/libavformat/mpc.c
==============================================================================
--- trunk/libavformat/mpc.c	Thu Jan 21 10:46:57 2010	(r21360)
+++ trunk/libavformat/mpc.c	Thu Jan 21 10:47:02 2010	(r21361)
@@ -115,8 +115,8 @@ static int mpc_read_header(AVFormatConte
     st->codec->sample_rate = mpc_rate[st->codec->extradata[2] & 3];
     av_set_pts_info(st, 32, MPC_FRAMESIZE, st->codec->sample_rate);
     /* scan for seekpoints */
-    s->start_time = 0;
-    s->duration = (int64_t)c->fcount * MPC_FRAMESIZE * AV_TIME_BASE / st->codec->sample_rate;
+    st->start_time = 0;
+    st->duration = c->fcount;
 
     /* try to read APE tags */
     if (!url_is_streamed(s->pb)) {

Modified: trunk/libavformat/wv.c
==============================================================================
--- trunk/libavformat/wv.c	Thu Jan 21 10:46:57 2010	(r21360)
+++ trunk/libavformat/wv.c	Thu Jan 21 10:47:02 2010	(r21361)
@@ -168,8 +168,8 @@ static int wv_read_header(AVFormatContex
     st->codec->sample_rate = wc->rate;
     st->codec->bits_per_coded_sample = wc->bpp;
     av_set_pts_info(st, 64, 1, wc->rate);
-    s->start_time = 0;
-    s->duration = (int64_t)wc->samples * AV_TIME_BASE / st->codec->sample_rate;
+    st->start_time = 0;
+    st->duration = wc->samples;
 
     if(!url_is_streamed(s->pb)) {
         int64_t cur = url_ftell(s->pb);



More information about the ffmpeg-cvslog mailing list