Browse Source

TT#50652 separate out media playback routine

Change-Id: I35e4071645ff2c0e16a9901ff3d65516dda1907e
changes/61/27661/6
Richard Fuchs 7 years ago
parent
commit
4aaccca6ee
1 changed files with 18 additions and 4 deletions
  1. +18
    -4
      daemon/media_player.c

+ 18
- 4
daemon/media_player.c View File

@ -190,7 +190,7 @@ out:
// call->master_lock held in W // call->master_lock held in W
int media_player_play_file(struct media_player *mp, const str *file) {
static int media_player_play_init(struct media_player *mp) {
media_player_shutdown(mp); media_player_shutdown(mp);
// find call media suitable for playback // find call media suitable for playback
@ -214,6 +214,22 @@ found:
mp->media = media; mp->media = media;
mp->sink = media->streams.head->data; mp->sink = media->streams.head->data;
return 0;
}
// call->master_lock held in W
static void media_player_play_start(struct media_player *mp) {
mp->next_run = rtpe_now;
media_player_read_packet(mp);
}
// call->master_lock held in W
int media_player_play_file(struct media_player *mp, const str *file) {
if (media_player_play_init(mp))
return -1;
char file_s[PATH_MAX]; char file_s[PATH_MAX];
snprintf(file_s, sizeof(file_s), STR_FORMAT, STR_FMT(file)); snprintf(file_s, sizeof(file_s), STR_FORMAT, STR_FMT(file));
@ -221,10 +237,8 @@ found:
if (ret < 0) if (ret < 0)
return -1; return -1;
// start playback now
media_player_play_start(mp);
mp->next_run = rtpe_now;
media_player_read_packet(mp);
return 0; return 0;
} }


Loading…
Cancel
Save