Lines Matching refs:play

17 struct play {  struct
19 struct play **playp; argument
46 struct play *play = arg; in tmr_stop() argument
48 mem_deref(play); in tmr_stop()
54 struct play *play = arg; in tmr_polling() local
56 lock_write_get(play->lock); in tmr_polling()
58 tmr_start(&play->tmr, 1000, tmr_polling, arg); in tmr_polling()
60 if (play->eof) { in tmr_polling()
61 if (play->repeat == 0) in tmr_polling()
62 tmr_start(&play->tmr, 1, tmr_stop, arg); in tmr_polling()
65 lock_rel(play->lock); in tmr_polling()
74 struct play *play = arg; in write_handler() local
80 lock_write_get(play->lock); in write_handler()
82 if (play->eof) in write_handler()
86 left = mbuf_get_left(play->mb); in write_handler()
89 (void)mbuf_read_mem(play->mb, (uint8_t *)sampv + pos, count); in write_handler()
94 if (play->repeat > 0) in write_handler()
95 play->repeat--; in write_handler()
97 if (play->repeat == 0) { in write_handler()
98 play->eof = true; in write_handler()
102 play->mb->pos = 0; in write_handler()
107 if (play->eof) in write_handler()
110 lock_rel(play->lock); in write_handler()
116 struct play *play = arg; in destructor() local
118 list_unlink(&play->le); in destructor()
119 tmr_cancel(&play->tmr); in destructor()
121 lock_write_get(play->lock); in destructor()
122 play->eof = true; in destructor()
123 lock_rel(play->lock); in destructor()
125 mem_deref(play->auplay); in destructor()
126 mem_deref(play->mb); in destructor()
127 mem_deref(play->lock); in destructor()
129 if (play->playp) in destructor()
130 *play->playp = NULL; in destructor()
212 int play_tone(struct play **playp, struct player *player, in play_tone()
217 struct play *play; in play_tone() local
230 play = mem_zalloc(sizeof(*play), destructor); in play_tone()
231 if (!play) in play_tone()
234 tmr_init(&play->tmr); in play_tone()
235 play->repeat = repeat; in play_tone()
236 play->mb = mem_ref(tone); in play_tone()
238 err = lock_alloc(&play->lock); in play_tone()
247 err = auplay_alloc(&play->auplay, baresip_auplayl(), in play_tone()
249 cfg->audio.alert_dev, write_handler, play); in play_tone()
253 list_append(&player->playl, &play->le, play); in play_tone()
254 tmr_start(&play->tmr, 1000, tmr_polling, play); in play_tone()
258 mem_deref(play); in play_tone()
261 play->playp = playp; in play_tone()
262 *playp = play; in play_tone()
279 int play_file(struct play **playp, struct player *player, in play_file()