@@ -255,6 +255,7 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_create(
255255 /* Create own pool */
256256 pool = pj_pool_create (parent_pool -> factory , "vidconf" , 500 , 500 , NULL );
257257 if (!pool ) {
258+ PJ_PERROR (1 , (THIS_FILE , PJ_ENOMEM , "Create failed in alloc" ));
258259 return PJ_ENOMEM ;
259260 }
260261
@@ -275,13 +276,15 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_create(
275276 pj_pool_zalloc (pool , vid_conf -> opt .max_slot_cnt *
276277 sizeof (vconf_port * ));
277278 if (!vid_conf -> ports ) {
279+ PJ_PERROR (1 , (THIS_FILE , PJ_ENOMEM , "Create failed in alloc ports" ));
278280 pjmedia_vid_conf_destroy (vid_conf );
279281 return PJ_ENOMEM ;
280282 }
281283
282284 /* Create mutex */
283285 status = pj_mutex_create_recursive (pool , CONF_NAME , & vid_conf -> mutex );
284286 if (status != PJ_SUCCESS ) {
287+ PJ_PERROR (1 , (THIS_FILE , status , "Create failed in create mutex" ));
285288 pjmedia_vid_conf_destroy (vid_conf );
286289 return status ;
287290 }
@@ -293,6 +296,7 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_create(
293296 status = pjmedia_clock_create2 (pool , & clock_param , 0 , & on_clock_tick ,
294297 vid_conf , & vid_conf -> clock );
295298 if (status != PJ_SUCCESS ) {
299+ PJ_PERROR (1 , (THIS_FILE , status , "Create failed in create clock" ));
296300 pjmedia_vid_conf_destroy (vid_conf );
297301 return status ;
298302 }
@@ -301,6 +305,7 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_create(
301305 vid_conf -> op_queue = PJ_POOL_ZALLOC_T (pool , op_entry );
302306 vid_conf -> op_queue_free = PJ_POOL_ZALLOC_T (pool , op_entry );
303307 if (!vid_conf -> op_queue || !vid_conf -> op_queue_free ) {
308+ PJ_PERROR (1 , (THIS_FILE , PJ_ENOMEM , "Create failed in create queues" ));
304309 pjmedia_vid_conf_destroy (vid_conf );
305310 return PJ_ENOMEM ;
306311 }
@@ -310,7 +315,7 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_create(
310315 /* Done */
311316 * p_vid_conf = vid_conf ;
312317
313- PJ_LOG (5 ,(THIS_FILE , "Created video conference bridge with %d ports" ,
318+ PJ_LOG (4 ,(THIS_FILE , "Created video conference bridge with %d ports" ,
314319 vid_conf -> opt .max_slot_cnt ));
315320
316321 return PJ_SUCCESS ;
@@ -354,7 +359,7 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_destroy(pjmedia_vid_conf *vid_conf)
354359 pj_pool_safe_release (& vid_conf -> pool );
355360 }
356361
357- PJ_LOG (5 ,(THIS_FILE , "Video conference bridge destroyed" ));
362+ PJ_LOG (4 ,(THIS_FILE , "Video conference bridge destroyed" ));
358363
359364 return PJ_SUCCESS ;
360365}
@@ -375,6 +380,8 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_add_port( pjmedia_vid_conf *vid_conf,
375380 unsigned index ;
376381 pj_status_t status = PJ_SUCCESS ;
377382
383+ PJ_LOG (5 ,(THIS_FILE , "Add port %s requested" , port -> info .name .ptr ));
384+
378385 PJ_ASSERT_RETURN (vid_conf && parent_pool && port , PJ_EINVAL );
379386 PJ_ASSERT_RETURN (port -> info .fmt .type == PJMEDIA_TYPE_VIDEO &&
380387 port -> info .fmt .detail_type == PJMEDIA_FORMAT_DETAIL_VIDEO ,
@@ -388,6 +395,7 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_add_port( pjmedia_vid_conf *vid_conf,
388395 pj_mutex_lock (vid_conf -> mutex );
389396
390397 if (vid_conf -> port_cnt >= vid_conf -> opt .max_slot_cnt ) {
398+ PJ_PERROR (3 ,(THIS_FILE , PJ_ETOOMANY , "Add port %s failed" , name -> ptr ));
391399 pj_assert (!"Too many ports" );
392400 pj_mutex_unlock (vid_conf -> mutex );
393401 return PJ_ETOOMANY ;
@@ -457,7 +465,7 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_add_port( pjmedia_vid_conf *vid_conf,
457465
458466 vfi = pjmedia_get_video_format_info (NULL , port -> info .fmt .id );
459467 if (!vfi ) {
460- PJ_LOG (4 ,(THIS_FILE , "pjmedia_vid_conf_add_port(): "
468+ PJ_LOG (3 ,(THIS_FILE , "pjmedia_vid_conf_add_port(): "
461469 "unrecognized format %04X" ,
462470 port -> info .fmt .id ));
463471 status = PJMEDIA_EBADFMT ;
@@ -468,7 +476,7 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_add_port( pjmedia_vid_conf *vid_conf,
468476 vafp .size = port -> info .fmt .det .vid .size ;
469477 status = (* vfi -> apply_fmt )(vfi , & vafp );
470478 if (status != PJ_SUCCESS ) {
471- PJ_LOG (4 ,(THIS_FILE , "pjmedia_vid_conf_add_port(): "
479+ PJ_LOG (3 ,(THIS_FILE , "pjmedia_vid_conf_add_port(): "
472480 "Failed to apply format %04X" ,
473481 port -> info .fmt .id ));
474482 goto on_error ;
@@ -482,7 +490,7 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_add_port( pjmedia_vid_conf *vid_conf,
482490 cport -> put_buf ,
483491 cport -> put_buf_size );
484492 if (status != PJ_SUCCESS ) {
485- PJ_PERROR (4 ,(THIS_FILE , status ,
493+ PJ_PERROR (3 ,(THIS_FILE , status ,
486494 "Warning: failed to init sink buffer "
487495 " with black" ));
488496 }
@@ -496,7 +504,7 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_add_port( pjmedia_vid_conf *vid_conf,
496504 cport -> get_buf ,
497505 cport -> get_buf_size );
498506 if (status != PJ_SUCCESS ) {
499- PJ_PERROR (4 ,(THIS_FILE , status ,
507+ PJ_PERROR (3 ,(THIS_FILE , status ,
500508 "Warning: failed to init source buffer "
501509 "with black" ));
502510 }
@@ -564,6 +572,8 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_add_port( pjmedia_vid_conf *vid_conf,
564572 if (pool )
565573 pj_pool_release (pool );
566574
575+ PJ_PERROR (3 , (THIS_FILE , status , "Add port %s failed" , name -> ptr ));
576+
567577 pj_mutex_unlock (vid_conf -> mutex );
568578 return status ;
569579}
@@ -578,18 +588,21 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_remove_port( pjmedia_vid_conf *vid_conf,
578588 vconf_port * cport ;
579589 op_entry * ope ;
580590
591+ PJ_LOG (5 ,(THIS_FILE , "Port %d remove requested" , slot ));
592+
581593 PJ_ASSERT_RETURN (vid_conf && slot < vid_conf -> opt .max_slot_cnt , PJ_EINVAL );
582594
583595 pj_mutex_lock (vid_conf -> mutex );
584596
585597 /* Port must be valid. */
586598 cport = vid_conf -> ports [slot ];
587599 if (cport == NULL ) {
600+ PJ_PERROR (3 , (THIS_FILE , PJ_EINVAL , "Remove port failed" ));
588601 pj_mutex_unlock (vid_conf -> mutex );
589602 return PJ_EINVAL ;
590603 }
591604
592- PJ_LOG (5 ,(THIS_FILE , "Video port %d remove requested " , slot ));
605+ PJ_LOG (4 ,(THIS_FILE , "Video port %d remove queued " , slot ));
593606
594607 /* Queue the operation */
595608 ope = get_free_op_entry (vid_conf );
@@ -646,7 +659,7 @@ static void op_remove_port(pjmedia_vid_conf *vid_conf,
646659 /* Warning: will stuck if this is called from the clock thread */
647660 status = pjmedia_clock_stop (vid_conf -> clock );
648661 if (status != PJ_SUCCESS ) {
649- PJ_PERROR (4 , (THIS_FILE , status , "Failed to stop clock" ));
662+ PJ_PERROR (3 , (THIS_FILE , status , "Failed to stop clock" ));
650663 }
651664 }
652665}
@@ -741,6 +754,9 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_connect_port(
741754 vconf_port * src_port , * dst_port ;
742755 unsigned i ;
743756
757+ PJ_LOG (5 ,(THIS_FILE , "Connect ports %d->%d requested" ,
758+ src_slot , sink_slot ));
759+
744760 /* Check arguments */
745761 PJ_ASSERT_RETURN (vid_conf &&
746762 src_slot < vid_conf -> opt .max_slot_cnt &&
@@ -755,7 +771,7 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_connect_port(
755771 if (!src_port || !src_port -> port -> get_frame ||
756772 !dst_port || !dst_port -> port -> put_frame )
757773 {
758- PJ_LOG (4 ,(THIS_FILE ,"Failed connecting video ports, make sure that "
774+ PJ_LOG (3 ,(THIS_FILE ,"Failed connecting video ports, make sure that "
759775 "source has get_frame() & sink has put_frame()" ));
760776 pj_mutex_unlock (vid_conf -> mutex );
761777 return PJ_EINVAL ;
@@ -771,7 +787,7 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_connect_port(
771787 if (i == src_port -> listener_cnt ) {
772788 op_entry * ope ;
773789
774- PJ_LOG (5 ,(THIS_FILE , "Video connect ports %d->%d requested " ,
790+ PJ_LOG (4 ,(THIS_FILE , "Video connect ports %d->%d queued " ,
775791 src_slot , sink_slot ));
776792
777793 ope = get_free_op_entry (vid_conf );
@@ -786,7 +802,7 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_connect_port(
786802 pj_status_t status ;
787803 status = pjmedia_clock_start (vid_conf -> clock );
788804 if (status != PJ_SUCCESS ) {
789- PJ_PERROR (4 , (THIS_FILE , status , "Failed to start clock" ));
805+ PJ_PERROR (2 , (THIS_FILE , status , "Failed to start clock" ));
790806 pj_mutex_unlock (vid_conf -> mutex );
791807 return status ;
792808 }
@@ -848,6 +864,9 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_disconnect_port(
848864 vconf_port * src_port , * dst_port ;
849865 unsigned i , j ;
850866
867+ PJ_LOG (5 ,(THIS_FILE , "Disconnect ports %d->%d requested" ,
868+ src_slot , sink_slot ));
869+
851870 /* Check arguments */
852871 PJ_ASSERT_RETURN (vid_conf &&
853872 src_slot < vid_conf -> opt .max_slot_cnt &&
@@ -859,6 +878,9 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_disconnect_port(
859878 src_port = vid_conf -> ports [src_slot ];
860879 dst_port = vid_conf -> ports [sink_slot ];
861880 if (!src_port || !dst_port ) {
881+ PJ_PERROR (3 ,(THIS_FILE , PJ_EINVAL ,
882+ "Disconnect ports failed, src=0x%p dst=0x%p" ,
883+ src_port , dst_port ));
862884 pj_mutex_unlock (vid_conf -> mutex );
863885 return PJ_EINVAL ;
864886 }
@@ -874,24 +896,26 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_disconnect_port(
874896 }
875897
876898 if (i != src_port -> listener_cnt && j != dst_port -> transmitter_cnt ) {
899+ op_entry * ope ;
900+
877901 pj_assert (src_port -> listener_cnt > 0 &&
878902 src_port -> listener_cnt < vid_conf -> opt .max_slot_cnt );
879903 pj_assert (dst_port -> transmitter_cnt > 0 &&
880904 dst_port -> transmitter_cnt < vid_conf -> opt .max_slot_cnt );
881905
882906 /* Queue the operation */
883- if (i == src_port -> listener_cnt ) {
884- op_entry * ope ;
885-
886- PJ_LOG (5 ,(THIS_FILE , "Video disconnect ports %d->%d requested" ,
887- src_slot , sink_slot ));
907+ PJ_LOG (4 ,(THIS_FILE , "Video disconnect ports %d->%d queued" ,
908+ src_slot , sink_slot ));
888909
889- ope = get_free_op_entry (vid_conf );
890- ope -> type = OP_DISCONNECT_PORTS ;
891- ope -> param .disconnect_ports .src = src_slot ;
892- ope -> param .disconnect_ports .sink = sink_slot ;
893- pj_list_push_back (vid_conf -> op_queue , ope );
894- }
910+ ope = get_free_op_entry (vid_conf );
911+ ope -> type = OP_DISCONNECT_PORTS ;
912+ ope -> param .disconnect_ports .src = src_slot ;
913+ ope -> param .disconnect_ports .sink = sink_slot ;
914+ pj_list_push_back (vid_conf -> op_queue , ope );
915+ } else {
916+ PJ_PERROR (3 ,(THIS_FILE , PJ_EINVAL ,
917+ "Disconnect ports failed, src=0x%p dst=0x%p" ,
918+ src_port , dst_port ));
895919 }
896920
897921 pj_mutex_unlock (vid_conf -> mutex );
@@ -1467,13 +1491,16 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_update_port( pjmedia_vid_conf *vid_conf,
14671491 vconf_port * cport ;
14681492 op_entry * ope ;
14691493
1494+ PJ_LOG (5 ,(THIS_FILE , "Update port %d requested" , slot ));
1495+
14701496 PJ_ASSERT_RETURN (vid_conf && slot < vid_conf -> opt .max_slot_cnt , PJ_EINVAL );
14711497
14721498 pj_mutex_lock (vid_conf -> mutex );
14731499
14741500 /* Port must be valid. */
14751501 cport = vid_conf -> ports [slot ];
14761502 if (cport == NULL ) {
1503+ PJ_PERROR (3 ,(THIS_FILE , PJ_EINVAL , "Update port failed" ));
14771504 pj_mutex_unlock (vid_conf -> mutex );
14781505 return PJ_EINVAL ;
14791506 }
@@ -1484,6 +1511,7 @@ PJ_DEF(pj_status_t) pjmedia_vid_conf_update_port( pjmedia_vid_conf *vid_conf,
14841511 ope -> param .update_port .port = slot ;
14851512 pj_list_push_back (vid_conf -> op_queue , ope );
14861513
1514+ PJ_LOG (4 ,(THIS_FILE , "Update port %d queued" , slot ));
14871515 pj_mutex_unlock (vid_conf -> mutex );
14881516
14891517 return PJ_SUCCESS ;
@@ -1602,6 +1630,7 @@ static void op_update_port(pjmedia_vid_conf *vid_conf,
16021630
16031631 /* Update cport format info */
16041632 cport -> format = * new_fmt ;
1633+ PJ_LOG (4 ,(THIS_FILE , "Port %d updated" , slot ));
16051634}
16061635
16071636
0 commit comments