diff options
author | rogerdpack <rogerpack2005@gmail.com> | 2015-01-26 02:03:48 -0700 |
---|---|---|
committer | rogerdpack <rogerpack2005@gmail.com> | 2015-01-26 02:04:30 -0700 |
commit | 61974c7dcca833687d4f3834c7e8200a63a7b4af (patch) | |
tree | c3555f95981b1a3fbfddb9967ea83331c8230b14 | |
parent | 7c2e26270124fc81babcfc7b9d070bb8bd8ab6fa (diff) | |
download | ffmpeg-61974c7dcca833687d4f3834c7e8200a63a7b4af.tar.gz |
dshow: tweak logging
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
-rw-r--r-- | libavdevice/dshow.c | 4 | ||||
-rw-r--r-- | libavdevice/dshow_pin.c | 12 |
2 files changed, 11 insertions, 5 deletions
diff --git a/libavdevice/dshow.c b/libavdevice/dshow.c index 9ca2519dd7..d03670e36f 100644 --- a/libavdevice/dshow.c +++ b/libavdevice/dshow.c @@ -1044,7 +1044,7 @@ static int dshow_read_header(AVFormatContext *avctx) if (ctx->device_name[AudioDevice]) { if ((r = dshow_open_device(avctx, devenum, AudioDevice, AudioSourceDevice)) < 0 || (r = dshow_add_device(avctx, AudioDevice)) < 0) { - av_log(avctx, AV_LOG_INFO, "Searching for audio device within video devices %s\n", ctx->device_name[AudioDevice]); + av_log(avctx, AV_LOG_INFO, "Searching for audio device within video devices for %s\n", ctx->device_name[AudioDevice]); /* see if there's a video source with an audio pin with the given audio name */ if ((r = dshow_open_device(avctx, devenum, AudioDevice, VideoSourceDevice)) < 0 || (r = dshow_add_device(avctx, AudioDevice)) < 0) { @@ -1104,7 +1104,7 @@ static int dshow_read_header(AVFormatContext *avctx) r = IMediaControl_GetState(control, 0, &pfs); } if (r != S_OK) { - av_log(avctx, AV_LOG_ERROR, "Could not run filter\n"); + av_log(avctx, AV_LOG_ERROR, "Could not run graph (sometimes caused by a device already in use by other application)\n"); goto error; } diff --git a/libavdevice/dshow_pin.c b/libavdevice/dshow_pin.c index 5904c28b86..4f719a660e 100644 --- a/libavdevice/dshow_pin.c +++ b/libavdevice/dshow_pin.c @@ -304,21 +304,25 @@ libAVMemInputPin_Receive(libAVMemInputPin *this, IMediaSample *sample) enum dshowDeviceType devtype = pin->filter->type; void *priv_data; uint8_t *buf; - int buf_size; + int buf_size; /* todo should be a long? */ int index; int64_t curtime; + int64_t orig_curtime; + const char *devtypename = (devtype == VideoDevice) ? "video" : "audio"; + IReferenceClock *clock = pin->filter->clock; + int64_t dummy; dshowdebug("libAVMemInputPin_Receive(%p)\n", this); if (!sample) return E_POINTER; + IMediaSample_GetTime(sample, &orig_curtime, &dummy); + orig_curtime += pin->filter->start_time; if (devtype == VideoDevice) { /* PTS from video devices is unreliable. */ - IReferenceClock *clock = pin->filter->clock; IReferenceClock_GetTime(clock, &curtime); } else { - int64_t dummy; IMediaSample_GetTime(sample, &curtime, &dummy); if(curtime > 400000000000000000LL) { /* initial frames sometimes start < 0 (shown as a very large number here, @@ -336,6 +340,8 @@ libAVMemInputPin_Receive(libAVMemInputPin *this, IMediaSample *sample) priv_data = pin->filter->priv_data; index = pin->filter->stream_index; + av_log(NULL, AV_LOG_VERBOSE, "dshow passing through packet of type %s size %6d timestamp %"PRId64" orig timestamp %"PRId64"\n", + devtypename, buf_size, curtime, orig_curtime); pin->filter->callback(priv_data, index, buf, buf_size, curtime, devtype); return S_OK; |