diff options
-rw-r--r-- | pjmedia/src/pjmedia-videodev/dshow_dev.c | 5 | ||||
-rw-r--r-- | pjmedia/src/pjmedia/format.c | 1 |
2 files changed, 5 insertions, 1 deletions
diff --git a/pjmedia/src/pjmedia-videodev/dshow_dev.c b/pjmedia/src/pjmedia-videodev/dshow_dev.c index 30fd0ccb..85a1375d 100644 --- a/pjmedia/src/pjmedia-videodev/dshow_dev.c +++ b/pjmedia/src/pjmedia-videodev/dshow_dev.c @@ -769,10 +769,13 @@ static pj_status_t create_filter_graph(pjmedia_dir dir, video_info->bmiHeader.biWidth = vfd->size.w; video_info->bmiHeader.biHeight = vfd->size.h; } - if (!use_def_fps && vfd->fps.num != 0) + if (video_info->AvgTimePerFrame == 0 || + (!use_def_fps && vfd->fps.num != 0)) + { video_info->AvgTimePerFrame = (LONGLONG) (10000000 * (double)vfd->fps.denum / vfd->fps.num); + } video_info->bmiHeader.biSizeImage = DIBSIZE(video_info->bmiHeader); mediatype->lSampleSize = DIBSIZE(video_info->bmiHeader); if (graph->csource_filter) diff --git a/pjmedia/src/pjmedia/format.c b/pjmedia/src/pjmedia/format.c index a2f3df04..54fd4dba 100644 --- a/pjmedia/src/pjmedia/format.c +++ b/pjmedia/src/pjmedia/format.c @@ -113,6 +113,7 @@ PJ_DEF(void) pjmedia_format_init_video( pjmedia_format *fmt, unsigned fps_num, unsigned fps_denum) { + pj_assert(fps_denum); fmt->id = fmt_id; fmt->type = PJMEDIA_TYPE_VIDEO; fmt->detail_type = PJMEDIA_FORMAT_DETAIL_VIDEO; |