MT#61630 introduce `media_player_add()`

Add a functiona that covers handling of:
- `media_player_add_file()`
- `media_player_add_blob()`
- `media_player_add_db()`

Change-Id: I43ea20649366e45c461d584a811fa91c82b6405c
pull/1897/head
Donat Zenichev 12 months ago
parent 816dc6e910
commit 2ca5319c1b

@ -2750,7 +2750,6 @@ static void __call_monologue_init_from_flags(struct call_monologue *ml, struct c
#ifdef WITH_TRANSCODING
if (flags->recording_announcement) {
media_player_new(&ml->rec_player, ml);
bool ret = true;
media_player_opts_t opts = MPO(
.repeat = flags->repeat_times,
.start_pos = flags->start_pos,
@ -2760,13 +2759,8 @@ static void __call_monologue_init_from_flags(struct call_monologue *ml, struct c
.blob = flags->blob,
.db_id = flags->db_id,
);
if (flags->file.len)
ret = media_player_add_file(ml->rec_player, &flags->file, opts);
else if (flags->blob.len)
ret = media_player_add_blob(ml->rec_player, &flags->blob, opts);
else if (flags->db_id > 0)
ret = media_player_add_db(ml->rec_player, flags->db_id, opts);
if (!ret)
if (!media_player_add(ml->rec_player, opts))
ilog(LOG_WARN, "Failed to add media player for recording announcement");
}
#endif

@ -1160,6 +1160,21 @@ bool media_player_play_file(struct media_player *mp, const str *file, media_play
#endif
}
bool media_player_add(struct media_player *mp, media_player_opts_t opts) {
#ifdef WITH_TRANSCODING
bool ret = true;
if (opts.file.len)
ret = media_player_add_file(mp, &opts.file, opts);
else if (opts.blob.len)
ret = media_player_add_blob(mp, &opts.blob, opts);
else if (opts.db_id > 0)
ret = media_player_add_db(mp, opts.db_id, opts);
return ret;
#else
return false;
#endif
}
// call->master_lock held in W
bool media_player_add_file(struct media_player *mp, const str *file, media_player_opts_t opts) {
int ret = __media_player_add_file(mp, file, opts, NULL);

@ -124,6 +124,7 @@ bool media_player_play_db(struct media_player *, long long, media_player_opts_t)
bool media_player_add_file(struct media_player *, const str *, media_player_opts_t);
bool media_player_add_blob(struct media_player *, const str *, media_player_opts_t);
bool media_player_add_db(struct media_player *, long long, media_player_opts_t);
bool media_player_add(struct media_player *mp, media_player_opts_t opts);
bool media_player_start(struct media_player *);
long long media_player_stop(struct media_player *);
bool media_player_is_active(struct call_monologue *);

Loading…
Cancel
Save