• Home
  • Raw
  • Download

Lines Matching refs:track

75 static inline u32 xa_track_test_flags(XATrack *track, u32 flags)  in xa_track_test_flags()  argument
77 return (track->input.flags & flags); in xa_track_test_flags()
80 static inline u32 xa_track_set_flags(XATrack *track, u32 flags) in xa_track_set_flags() argument
82 return (track->input.flags |= flags); in xa_track_set_flags()
85 static inline u32 xa_track_clear_flags(XATrack *track, u32 flags) in xa_track_clear_flags() argument
87 return (track->input.flags &= ~flags); in xa_track_clear_flags()
90 static inline u32 xa_track_toggle_flags(XATrack *track, u32 flags) in xa_track_toggle_flags() argument
92 return (track->input.flags ^= flags); in xa_track_toggle_flags()
110 XATrack track[XA_MIXER_MAX_TRACK_NUMBER]; member
162 XATrack *track; in xa_mixer_check_active() local
166 for (track = &mixer->track[i = 0]; i < XA_MIXER_MAX_TRACK_NUMBER; i++, track++) in xa_mixer_check_active()
168 if (xa_track_test_flags(track, XA_TRACK_FLAG_RECVD_DATA | XA_TRACK_FLAG_ACTIVE)) in xa_mixer_check_active()
212 XATrack *track = &mixer->track[i]; in xa_mixer_empty_this_buffer() local
224 xa_track_set_flags(track, XA_TRACK_FLAG_RECVD_DATA); in xa_mixer_empty_this_buffer()
226 xa_track_clear_flags(track, XA_TRACK_FLAG_RECVD_DATA); in xa_mixer_empty_this_buffer()
229 if (xf_input_port_put(&track->input, m)) in xa_mixer_empty_this_buffer()
232 if (xa_track_test_flags(track, XA_TRACK_FLAG_IDLE)) in xa_mixer_empty_this_buffer()
235 xa_track_toggle_flags(track, XA_TRACK_FLAG_IDLE | XA_TRACK_FLAG_ACTIVE); in xa_mixer_empty_this_buffer()
238 track->pts = mixer->pts; in xa_mixer_empty_this_buffer()
240 TRACE(INFO, _b("track-%u started (pts=%x)"), i, track->pts); in xa_mixer_empty_this_buffer()
365 XATrack *track = &mixer->track[i]; in xa_mixer_pause() local
374 if (xa_track_test_flags(track, XA_TRACK_FLAG_ACTIVE)) in xa_mixer_pause()
377 xa_track_toggle_flags(track, XA_TRACK_FLAG_ACTIVE | XA_TRACK_FLAG_PAUSED); in xa_mixer_pause()
404 XATrack *track = &mixer->track[i]; in xa_mixer_resume() local
413 if (xa_track_test_flags(track, XA_TRACK_FLAG_PAUSED)) in xa_mixer_resume()
416 xa_track_toggle_flags(track, XA_TRACK_FLAG_ACTIVE | XA_TRACK_FLAG_PAUSED); in xa_mixer_resume()
419 track->pts = mixer->pts; in xa_mixer_resume()
446 XATrack *track = &mixer->track[i]; in xa_mixer_flush() local
469 if (xa_track_test_flags(track, XA_TRACK_FLAG_ACTIVE | XA_TRACK_FLAG_PAUSED)) in xa_mixer_flush()
472 xf_input_port_purge(&track->input); in xa_mixer_flush()
475 …xa_track_clear_flags(track, XA_TRACK_FLAG_ACTIVE | XA_TRACK_FLAG_PAUSED | XA_TRACK_FLAG_INPUT_SETU… in xa_mixer_flush()
478 xa_track_set_flags(track, XA_TRACK_FLAG_IDLE); in xa_mixer_flush()
506 XATrack *track = &mixer->track[idx]; in xa_mixer_memtab() local
512 … XF_CHK_ERR(xf_input_port_init(&track->input, size, align, core) == 0, XA_API_FATAL_MEM_ALLOC); in xa_mixer_memtab()
515 XA_API(base, XA_API_CMD_SET_MEM_PTR, idx, track->input.buffer); in xa_mixer_memtab()
518 xa_track_set_flags(track, XA_TRACK_FLAG_IDLE); in xa_mixer_memtab()
546 XATrack *track; in xa_mixer_preprocess() local
583 for (track = &mixer->track[i = 0]; i < XA_MIXER_MAX_TRACK_NUMBER; i++, track++) in xa_mixer_preprocess()
586 if (!xa_track_test_flags(track, XA_TRACK_FLAG_ACTIVE)) continue; in xa_mixer_preprocess()
592 if (xa_track_test_flags(track, XA_TRACK_FLAG_INPUT_SETUP)) continue; in xa_mixer_preprocess()
595 TRACE(INPUT, _b("track-%u: ts=%x vs mts=%x"), i, track->pts, mixer->pts); in xa_mixer_preprocess()
598 if (!xf_time_after(track->pts, mixer->pts)) in xa_mixer_preprocess()
603 if (!xf_input_port_fill(&track->input)) in xa_mixer_preprocess()
611 filled = xf_input_port_level(&track->input); in xa_mixer_preprocess()
622 xa_track_set_flags(track, XA_TRACK_FLAG_INPUT_SETUP); in xa_mixer_preprocess()
633 XATrack *track; in xa_mixer_postprocess() local
659 for (track = &mixer->track[i = 0]; i < XA_MIXER_MAX_TRACK_NUMBER; i++, track++) in xa_mixer_postprocess()
662 if (!xa_track_test_flags(track, XA_TRACK_FLAG_ACTIVE)) continue; in xa_mixer_postprocess()
665 xa_track_clear_flags(track, XA_TRACK_FLAG_INPUT_SETUP); in xa_mixer_postprocess()
668 track->pts += mixer->frame_size; in xa_mixer_postprocess()
673 TRACE(INPUT, _b("track-%u::postprocess(c=%u, ts=%x)"), i, consumed, track->pts); in xa_mixer_postprocess()
676 xf_input_port_consume(&track->input, consumed); in xa_mixer_postprocess()
679 if (xf_input_port_done(&track->input)) in xa_mixer_postprocess()
682 xf_input_port_purge(&track->input); in xa_mixer_postprocess()
685 xa_track_toggle_flags(track, XA_TRACK_FLAG_ACTIVE | XA_TRACK_FLAG_IDLE); in xa_mixer_postprocess()
795 xf_input_port_destroy(&mixer->track[i].input, core); in xa_mixer_destroy()
824 xf_input_port_purge(&mixer->track[i].input); in xa_mixer_cleanup()