-
-/* */
-VLC_API vout_thread_t * aout_filter_RequestVout( filter_t *, vout_thread_t *p_vout, video_format_t *p_fmt ) VLC_USED;
-
-/** Audio output buffer FIFO */
-struct aout_fifo_t
-{
- block_t *p_first;
- block_t **pp_last;
- date_t end_date;
-};
-
-/* Legacy packet-oriented audio output helpers */
-typedef struct
-{
- vlc_mutex_t lock;
- audio_sample_format_t format;
- aout_fifo_t partial; /**< Audio blocks before packetization */
- aout_fifo_t fifo; /**< Packetized audio blocks */
- mtime_t pause_date; /**< Date when paused or VLC_TS_INVALID */
- unsigned samples; /**< Samples per packet */
- bool starving; /**< Whether currently starving (to limit error messages) */
-} aout_packet_t;
-
-VLC_DEPRECATED void aout_PacketInit(audio_output_t *, aout_packet_t *, unsigned, const audio_sample_format_t *);
-VLC_DEPRECATED void aout_PacketDestroy(audio_output_t *);
-
-VLC_DEPRECATED int aout_PacketTimeGet(audio_output_t *, mtime_t *);
-VLC_DEPRECATED void aout_PacketPlay(audio_output_t *, block_t *);
-VLC_DEPRECATED void aout_PacketFlush(audio_output_t *, bool);
-
-VLC_DEPRECATED block_t *aout_PacketNext(audio_output_t *, mtime_t) VLC_USED;
-
+/* Audio output filters */
+typedef struct aout_filters aout_filters_t;
+typedef struct aout_request_vout aout_request_vout_t;
+
+VLC_API aout_filters_t *aout_FiltersNew(vlc_object_t *,
+ const audio_sample_format_t *,
+ const audio_sample_format_t *,
+ const aout_request_vout_t *) VLC_USED;
+#define aout_FiltersNew(o,inf,outf,rv) \
+ aout_FiltersNew(VLC_OBJECT(o),inf,outf,rv)
+VLC_API void aout_FiltersDelete(vlc_object_t *, aout_filters_t *);
+#define aout_FiltersDelete(o,f) \
+ aout_FiltersDelete(VLC_OBJECT(o),f)
+VLC_API bool aout_FiltersAdjustResampling(aout_filters_t *, int);
+VLC_API block_t *aout_FiltersPlay(aout_filters_t *, block_t *, int rate);
+
+VLC_API vout_thread_t * aout_filter_RequestVout( filter_t *, vout_thread_t *p_vout, video_format_t *p_fmt );