Browse Source

TT#50652 stop media playback on call delete

Change-Id: I008c6403ad8f3529806d5649bee0928fb50e9754
changes/15/27915/4
Richard Fuchs 7 years ago
parent
commit
40dc49f8e2
2 changed files with 12 additions and 4 deletions
  1. +9
    -4
      daemon/call.c
  2. +3
    -0
      daemon/media_player.c

+ 9
- 4
daemon/call.c View File

@ -2169,10 +2169,8 @@ void call_destroy(struct call *c) {
ice_shutdown(&md->ice_agent);
}
if (ml->player) {
media_player_stop(ml->player);
media_player_put(&ml->player);
}
media_player_stop(ml->player);
media_player_put(&ml->player);
}
k = g_hash_table_get_values(c->ssrc_hash->ht);
@ -2741,6 +2739,8 @@ do_delete:
if (output)
ng_call_stats(c, fromtag, totag, output, NULL);
media_player_stop(ml->player);
if (delete_delay > 0) {
ilog(LOG_INFO, "Scheduling deletion of call branch '"STR_FORMAT"' "
"(via-branch '"STR_FORMAT"') in %d seconds",
@ -2758,6 +2758,11 @@ do_delete:
goto success_unlock;
del_all:
for (i = c->monologues.head; i; i = i->next) {
ml = i->data;
media_player_stop(ml->player);
}
if (delete_delay > 0) {
ilog(LOG_INFO, "Scheduling deletion of entire call in %d seconds", delete_delay);
c->deleted = rtpe_now.tv_sec + delete_delay;


+ 3
- 0
daemon/media_player.c View File

@ -56,6 +56,9 @@ next:
// called with call->master lock in W
static void media_player_shutdown(struct media_player *mp) {
if (!mp)
return;
ilog(LOG_DEBUG, "shutting down media_player");
timerthread_obj_deschedule(&mp->tt_obj);
avformat_close_input(&mp->fmtctx);


Loading…
Cancel
Save