diff options
author | Eric Wong <normalperson@yhbt.net> | 2008-01-01 10:09:56 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2008-01-01 10:09:56 +0000 |
commit | 2cc59816a6e6304e643bc5c7ca055dd2567cba9e (patch) | |
tree | 2686ddfc3b7e98feb8a47e6f64c3658c15b92f0b /src/inputPlugins/mp4_plugin.c | |
parent | 5e7367c580f3a7aca93f6523e6c9d37f81b1d48b (diff) | |
download | mpd-2cc59816a6e6304e643bc5c7ca055dd2567cba9e.tar.gz mpd-2cc59816a6e6304e643bc5c7ca055dd2567cba9e.tar.xz mpd-2cc59816a6e6304e643bc5c7ca055dd2567cba9e.zip |
Simplify decode cleanup logic a bit
DECODE_STATE_STOP is always set as dc->state, and dc->stop
is always cleared. So handle it in decodeStart once rather
than doing it in every plugin.
While we're at it, fix a long-standing (but difficult to
trigger) bug in mpc_decode where we failed to return
if mpc_decoder_initialize() fails.
git-svn-id: https://svn.musicpd.org/mpd/trunk@7122 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Diffstat (limited to 'src/inputPlugins/mp4_plugin.c')
-rw-r--r-- | src/inputPlugins/mp4_plugin.c | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/src/inputPlugins/mp4_plugin.c b/src/inputPlugins/mp4_plugin.c index 2426d3b2b..5261580fc 100644 --- a/src/inputPlugins/mp4_plugin.c +++ b/src/inputPlugins/mp4_plugin.c @@ -127,7 +127,6 @@ static int mp4_decode(OutputBuffer * cb, DecoderControl * dc, if (!mp4fh) { ERROR("Input does not appear to be a mp4 stream.\n"); free(mp4cb); - closeInputStream(inStream); return -1; } @@ -135,7 +134,6 @@ static int mp4_decode(OutputBuffer * cb, DecoderControl * dc, if (track < 0) { ERROR("No AAC track found in mp4 stream.\n"); mp4ff_close(mp4fh); - closeInputStream(inStream); free(mp4cb); return -1; } @@ -164,7 +162,6 @@ static int mp4_decode(OutputBuffer * cb, DecoderControl * dc, faacDecClose(decoder); mp4ff_close(mp4fh); free(mp4cb); - closeInputStream(inStream); return -1; } @@ -180,7 +177,6 @@ static int mp4_decode(OutputBuffer * cb, DecoderControl * dc, ERROR("Error getting audio format of mp4 AAC track.\n"); faacDecClose(decoder); mp4ff_close(mp4fh); - closeInputStream(inStream); free(mp4cb); return -1; } @@ -296,7 +292,6 @@ static int mp4_decode(OutputBuffer * cb, DecoderControl * dc, free(seekTable); faacDecClose(decoder); mp4ff_close(mp4fh); - closeInputStream(inStream); free(mp4cb); if (dc->state != DECODE_STATE_DECODE) @@ -308,12 +303,6 @@ static int mp4_decode(OutputBuffer * cb, DecoderControl * dc, } flushOutputBuffer(cb); - if (dc->stop) { - dc->state = DECODE_STATE_STOP; - dc->stop = 0; - } else - dc->state = DECODE_STATE_STOP; - return 0; } |