Originally committed as revision 3478 to svn://svn.ffmpeg.org/ffmpeg/trunk
Roman Shaposhnik authored on 2004/09/19 11:05:22... | ... |
@@ -741,11 +741,11 @@ DVDemuxContext* dv_init_demux(AVFormatContext *s) |
741 | 741 |
c->vst->codec.codec_type = CODEC_TYPE_VIDEO; |
742 | 742 |
c->vst->codec.codec_id = CODEC_ID_DVVIDEO; |
743 | 743 |
c->vst->codec.bit_rate = 25000000; |
744 |
+ c->vst->start_time = 0; |
|
744 | 745 |
|
745 | 746 |
c->ast[0]->codec.codec_type = CODEC_TYPE_AUDIO; |
746 | 747 |
c->ast[0]->codec.codec_id = CODEC_ID_PCM_S16LE; |
747 |
- |
|
748 |
- s->ctx_flags |= AVFMTCTX_NOHEADER; |
|
748 |
+ c->ast[0]->start_time = 0; |
|
749 | 749 |
|
750 | 750 |
return c; |
751 | 751 |
|
... | ... |
@@ -849,9 +849,18 @@ static int dv_read_header(AVFormatContext *s, |
849 | 849 |
AVFormatParameters *ap) |
850 | 850 |
{ |
851 | 851 |
RawDVContext *c = s->priv_data; |
852 |
+ const DVprofile* sys; |
|
852 | 853 |
c->dv_demux = dv_init_demux(s); |
854 |
+ if (!c->dv_demux) |
|
855 |
+ return -1; |
|
853 | 856 |
|
854 |
- return c->dv_demux ? 0 : -1; |
|
857 |
+ if (get_buffer(&s->pb, c->buf, 4) <= 0 || url_fseek(&s->pb, -4, SEEK_CUR) < 0) |
|
858 |
+ return AVERROR_IO; |
|
859 |
+ |
|
860 |
+ sys = dv_frame_profile(c->buf); |
|
861 |
+ s->bit_rate = av_rescale(sys->frame_size * 8, sys->frame_rate, sys->frame_rate_base); |
|
862 |
+ |
|
863 |
+ return 0; |
|
855 | 864 |
} |
856 | 865 |
|
857 | 866 |
|