diff options
Diffstat (limited to 'pjmedia/src/test/vid_port_test.c')
-rw-r--r-- | pjmedia/src/test/vid_port_test.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/pjmedia/src/test/vid_port_test.c b/pjmedia/src/test/vid_port_test.c index fed61bb1..dd3bf37e 100644 --- a/pjmedia/src/test/vid_port_test.c +++ b/pjmedia/src/test/vid_port_test.c @@ -32,10 +32,10 @@ static pj_bool_t is_quitting = PJ_FALSE; -static pj_status_t vid_event_cb(pjmedia_event_subscription *esub, - pjmedia_event *event) +static pj_status_t vid_event_cb(pjmedia_event *event, + void *user_data) { - PJ_UNUSED_ARG(esub); + PJ_UNUSED_ARG(user_data); if (event->type == PJMEDIA_EVENT_WND_CLOSED) is_quitting = PJ_TRUE; @@ -52,7 +52,6 @@ static int capture_render_loopback(pj_bool_t active, pjmedia_vid_dev_info cdi, rdi; pjmedia_vid_port_param param; pjmedia_video_format_detail *vfd; - pjmedia_event_subscription esub; pj_status_t status; int rc = 0, i; @@ -118,10 +117,7 @@ static int capture_render_loopback(pj_bool_t active, } /* Set event handler */ - pjmedia_event_subscription_init(&esub, &vid_event_cb, NULL); - pjmedia_event_subscribe( - pjmedia_vid_port_get_event_publisher(renderer), - &esub); + pjmedia_event_subscribe(NULL, pool, &vid_event_cb, NULL, renderer); /* Connect capture to renderer */ status = pjmedia_vid_port_connect( @@ -153,8 +149,10 @@ on_return: if (capture) pjmedia_vid_port_destroy(capture); - if (renderer) + if (renderer) { + pjmedia_event_unsubscribe(NULL, &vid_event_cb, NULL, renderer); pjmedia_vid_port_destroy(renderer); + } pj_pool_release(pool); return rc; |