Good day, All! pjsip-2.0-RC much more reliable then beta. BTW I can successfully make video call with resolution HD(1280x720), 1680x1050 , etc. It works. Also I have to do first 3-5 frames as I-Frames to reach video rapidly after start video call. The fix looks like(method ffmpeg_codec_encode_whole)- using global counter m_first_frame_counter : ... if (opt && opt->force_keyframe) { ... //we set I-Frame all first 4 frames of video stream if (m_first_frame_counter < 4) { avframe.pict_type = AV_PICTURE_TYPE_I; m_first_frame_counter++; }else { m_first_frame_counter = 4; } ... av_init_packet(&avpacket); So, closer to my problem, my question: is it possible to change video resolution directly during video call making? for example I do video call with resolution 800x600 and, directly in call, I change output video to 1024x768. Is it possible? How can I do that in right way? As I can see from pjsua_app.c code: -------------------------------------------- } else if (argc==6 && strcmp(argv[2], "size")==0) { pjmedia_vid_codec_param cp; pj_str_t cid; int M, N; cid = pj_str(argv[3]); M = atoi(argv[4]); N = atoi(argv[5]); status = pjsua_vid_codec_get_param(&cid, &cp); if (status == PJ_SUCCESS) { cp.enc_fmt.det.vid.size.w = M; cp.enc_fmt.det.vid.size.h = N; status = pjsua_vid_codec_set_param(&cid, &cp); } -------------------------------------------- we should get codec, change it properties and set it back. but then I do: status = pjsua_vid_codec_get_param(&codec_id, ¶m); I have an assertion: pj_assert(!"Calling pjlib from unknown/external thread. You must " "register external threads with pj_thread_register() " "before calling any pjlib functions."); } call stack: > msvcr90d.dll!_wassert(const wchar_t * expr=0x00811db0, const wchar_t * filename=0x00811a58, unsigned int lineno=559) Line 335 C > MyApp.exe!pj_thread_this() Line 559 + 0x22 bytes C > MyApp.exe!pj_thread_check_stack(const char * file=0x00811b88, int line=944) Line 632 + 0x5 bytes C MyApp.exe!pj_mutex_lock(pj_mutex_t * mutex=0x04b38d3c) Line 944 + 0x13 bytes C > MyApp.exe!pjmedia_vid_codec_mgr_find_codecs_by_id(pjmedia_vid_codec_mgr * mgr=0x04b3932c, const pj_str_t * codec_id=0x0018f2c8, unsigned int * count=0x0018ef00, const pjmedia_vid_codec_info * * p_info=0x0018ef0c, unsigned int * prio=0x00000000) Line 431 + 0xc bytes C > MyApp.exe!find_codecs_with_rtp_packing(const pj_str_t * codec_id=0x0018f2c8, unsigned int * count=0x0018eff0, const pjmedia_vid_codec_info * * p_info=0x0018eff4) Line 241 + 0x18 bytes C > MyApp .exe!pjsua_vid_codec_get_param(const pj_str_t * codec_id=0x0018f2c8, pjmedia_vid_codec_param * param=0x0018f068) Line 322 + 0x11 bytes C That I do in wrong way? How can I do this correct? Thank you! -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20120516/9b438737/attachment.html>