mirror of https://github.com/mpv-player/mpv
Make af_control_any_rev return the matching filter
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14293 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
4be95cc5f4
commit
6119b03712
15
libaf/af.c
15
libaf/af.c
|
@ -615,16 +615,21 @@ inline int af_resize_local_buffer(af_instance_t* af, af_data_t* data)
|
||||||
return AF_OK;
|
return AF_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
// send control to all filters, starting with the last until
|
/**
|
||||||
// one responds with AF_OK
|
* \brief send control to all filters, starting with the last, until
|
||||||
int af_control_any_rev (af_stream_t* s, int cmd, void* arg) {
|
* one responds with AF_OK
|
||||||
|
* \return The instance that accepted the command or NULL if none did.
|
||||||
|
*/
|
||||||
|
af_instance_t *af_control_any_rev (af_stream_t* s, int cmd, void* arg) {
|
||||||
int res = AF_UNKNOWN;
|
int res = AF_UNKNOWN;
|
||||||
af_instance_t* filt = s->last;
|
af_instance_t* filt = s->last;
|
||||||
while (filt && res != AF_OK) {
|
while (filt) {
|
||||||
res = filt->control(filt, cmd, arg);
|
res = filt->control(filt, cmd, arg);
|
||||||
|
if (res == AF_OK)
|
||||||
|
return filt;
|
||||||
filt = filt->prev;
|
filt = filt->prev;
|
||||||
}
|
}
|
||||||
return (res == AF_OK);
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void af_help (void) {
|
void af_help (void) {
|
||||||
|
|
|
@ -153,8 +153,8 @@ af_data_t* af_play(af_stream_t* s, af_data_t* data);
|
||||||
|
|
||||||
// send control to all filters, starting with the last until
|
// send control to all filters, starting with the last until
|
||||||
// one accepts the command with AF_OK.
|
// one accepts the command with AF_OK.
|
||||||
// Returns true if accepting filter was found.
|
// Returns the accepting filter or NULL if none was found.
|
||||||
int af_control_any_rev (af_stream_t* s, int cmd, void* arg);
|
af_instance_t *af_control_any_rev (af_stream_t* s, int cmd, void* arg);
|
||||||
|
|
||||||
/* Calculate how long the output from the filters will be given the
|
/* Calculate how long the output from the filters will be given the
|
||||||
input length "len". The calculated length is >= the actual
|
input length "len". The calculated length is >= the actual
|
||||||
|
|
Loading…
Reference in New Issue