summaryrefslogtreecommitdiff
path: root/pjmedia
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2012-09-13 08:08:01 +0000
committerLiong Sauw Ming <ming@teluu.com>2012-09-13 08:08:01 +0000
commit382f18b2818e120fbcdafb108b8a7224b441a5c7 (patch)
treeb6b98308088999ff7a338f4892bf3ae79ab0eda4 /pjmedia
parenta73c0de977cd52b8c177befb4122a77b61ac3219 (diff)
Fixed #1581: Fixed crash in video port when the capturer is passive, its stream is passive, and converter is needed
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4252 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia')
-rw-r--r--pjmedia/src/pjmedia/vid_port.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/pjmedia/src/pjmedia/vid_port.c b/pjmedia/src/pjmedia/vid_port.c
index 6eee6a7c..db4e4cd1 100644
--- a/pjmedia/src/pjmedia/vid_port.c
+++ b/pjmedia/src/pjmedia/vid_port.c
@@ -332,9 +332,7 @@ PJ_DEF(pj_status_t) pjmedia_vid_port_create( pj_pool_t *pool,
PJMEDIA_SIG_VID_PORT,
prm->vidparam.dir, &prm->vidparam.fmt);
- if (vp->stream_role == ROLE_ACTIVE) {
- need_frame_buf = PJ_TRUE;
- }
+ need_frame_buf = PJ_TRUE;
}
if (need_frame_buf) {
@@ -654,8 +652,10 @@ static pj_status_t convert_frame(pjmedia_vid_port *vp,
pj_status_t status = PJ_SUCCESS;
if (vp->conv.conv) {
- dst_frame->buf = vp->conv.conv_buf;
- dst_frame->size = vp->conv.conv_buf_size;
+ if (!dst_frame->buf || dst_frame->size < vp->conv.conv_buf_size) {
+ dst_frame->buf = vp->conv.conv_buf;
+ dst_frame->size = vp->conv.conv_buf_size;
+ }
status = pjmedia_converter_convert(vp->conv.conv,
src_frame, dst_frame);
}