summaryrefslogtreecommitdiff
path: root/pjmedia/src/pjmedia-codec/openh264.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pjmedia/src/pjmedia-codec/openh264.cpp')
-rw-r--r--pjmedia/src/pjmedia-codec/openh264.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/pjmedia/src/pjmedia-codec/openh264.cpp b/pjmedia/src/pjmedia-codec/openh264.cpp
index fa57205b..4eeb2570 100644
--- a/pjmedia/src/pjmedia-codec/openh264.cpp
+++ b/pjmedia/src/pjmedia-codec/openh264.cpp
@@ -194,11 +194,14 @@ PJ_DEF(pj_status_t) pjmedia_codec_openh264_vid_init(pjmedia_vid_codec_mgr *mgr,
status = pjmedia_sdp_neg_register_fmt_match_cb(
&h264_name,
&pjmedia_vid_codec_h264_match_sdp);
- pj_assert(status == PJ_SUCCESS);
+ if (status != PJ_SUCCESS)
+ goto on_error;
/* Register codec factory to codec manager. */
status = pjmedia_vid_codec_mgr_register_factory(mgr,
&oh264_factory.base);
+ if (status != PJ_SUCCESS)
+ goto on_error;
PJ_LOG(4,(THIS_FILE, "OpenH264 codec initialized"));
@@ -372,6 +375,8 @@ static pj_status_t oh264_dealloc_codec(pjmedia_vid_codec_factory *factory,
PJ_ASSERT_RETURN(codec, PJ_EINVAL);
+ PJ_UNUSED_ARG(factory);
+
oh264_data = (oh264_codec_data*) codec->codec_data;
if (oh264_data->enc) {
WelsDestroySVCEncoder(oh264_data->enc);
@@ -470,9 +475,10 @@ static pj_status_t oh264_codec_open(pjmedia_vid_codec *codec,
eprm.sSpatialLayers[0].uiProfileIdc = PRO_BASELINE;
eprm.iPicWidth = param->enc_fmt.det.vid.size.w;
eprm.iPicHeight = param->enc_fmt.det.vid.size.h;
- eprm.fMaxFrameRate = (param->enc_fmt.det.vid.fps.num * 1.0 /
+ eprm.fMaxFrameRate = (param->enc_fmt.det.vid.fps.num *
+ 1.0f /
param->enc_fmt.det.vid.fps.denum);
- eprm.uiFrameToBeCoded = -1;
+ eprm.uiFrameToBeCoded = (unsigned int) -1;
eprm.iTemporalLayerNum = 1;
eprm.uiIntraPeriod = 0; /* I-Frame interval in frames */
eprm.bEnableSpsPpsIdAddition = (oh264_data->whole? false : true);