From 1f0fa80bfa7a0a2ee455679510761f7e138444ae Mon Sep 17 00:00:00 2001 From: Ramiro Polla Date: Fri, 3 Feb 2012 14:55:20 -0200 Subject: dshow: use DirectShow information to set time_base Fixes build after removal of AVFormatParameters. Signed-off-by: Michael Niedermayer --- libavdevice/dshow.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'libavdevice') diff --git a/libavdevice/dshow.c b/libavdevice/dshow.c index 27048346d1..21e275dd50 100644 --- a/libavdevice/dshow.c +++ b/libavdevice/dshow.c @@ -683,12 +683,15 @@ dshow_add_device(AVFormatContext *avctx, codec = st->codec; if (devtype == VideoDevice) { BITMAPINFOHEADER *bih = NULL; + AVRational time_base; if (IsEqualGUID(&type.formattype, &FORMAT_VideoInfo)) { VIDEOINFOHEADER *v = (void *) type.pbFormat; + time_base = (AVRational) { v->AvgTimePerFrame, 10000000 }; bih = &v->bmiHeader; } else if (IsEqualGUID(&type.formattype, &FORMAT_VideoInfo2)) { VIDEOINFOHEADER2 *v = (void *) type.pbFormat; + time_base = (AVRational) { v->AvgTimePerFrame, 10000000 }; bih = &v->bmiHeader; } if (!bih) { @@ -696,7 +699,7 @@ dshow_add_device(AVFormatContext *avctx, goto error; } - codec->time_base = ap->time_base; + codec->time_base = time_base; codec->codec_type = AVMEDIA_TYPE_VIDEO; codec->width = bih->biWidth; codec->height = bih->biHeight; @@ -851,7 +854,7 @@ static int dshow_read_header(AVFormatContext *avctx) ret = dshow_open_device(avctx, devenum, VideoDevice); if (ret < 0) goto error; - ret = dshow_add_device(avctx, ap, VideoDevice); + ret = dshow_add_device(avctx, VideoDevice); if (ret < 0) goto error; } @@ -859,7 +862,7 @@ static int dshow_read_header(AVFormatContext *avctx) ret = dshow_open_device(avctx, devenum, AudioDevice); if (ret < 0) goto error; - ret = dshow_add_device(avctx, ap, AudioDevice); + ret = dshow_add_device(avctx, AudioDevice); if (ret < 0) goto error; } -- cgit v1.2.3