vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Sat Dec 8 09:55:52 2012 +0200| [e4f129bf932c6e4bc5aa04344cbcfc6b95777465] | committer: Rémi Denis-Courmont
amem: call cleanup() if setup() succeeded but format is unsupported > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=e4f129bf932c6e4bc5aa04344cbcfc6b95777465 --- modules/audio_output/amem.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/modules/audio_output/amem.c b/modules/audio_output/amem.c index a60a0a7..0296fc4 100644 --- a/modules/audio_output/amem.c +++ b/modules/audio_output/amem.c @@ -148,6 +148,15 @@ static int SoftMuteSet (audio_output_t *aout, bool mute) return 0; } +static void Stop (audio_output_t *aout) +{ + aout_sys_t *sys = aout->sys; + + if (sys->cleanup != NULL) + sys->cleanup (sys->opaque); + sys->ready = false; +} + static int Start (audio_output_t *aout, audio_sample_format_t *fmt) { aout_sys_t *sys = aout->sys; @@ -173,14 +182,14 @@ static int Start (audio_output_t *aout, audio_sample_format_t *fmt) if (sys->set_volume != NULL) sys->set_volume(sys->opaque, sys->volume, sys->mute); + /* Ensure that format is supported */ if (fmt->i_rate == 0 || fmt->i_rate > 192000 - || channels == 0 || channels > AOUT_CHAN_MAX) - return VLC_EGENERIC; - - /* TODO: amem-format */ - if (strcmp(format, "S16N")) + || channels == 0 || channels > AOUT_CHAN_MAX + || strcmp(format, "S16N") /* TODO: amem-format */) { - msg_Err (aout, "format not supported"); + msg_Err (aout, "format not supported: %s, %u channel(s), %u Hz", + format, channels, fmt->i_rate); + Stop (aout); return VLC_EGENERIC; } @@ -223,15 +232,6 @@ static int Start (audio_output_t *aout, audio_sample_format_t *fmt) return VLC_SUCCESS; } -static void Stop (audio_output_t *aout) -{ - aout_sys_t *sys = aout->sys; - - if (sys->cleanup != NULL) - sys->cleanup (sys->opaque); - sys->ready = false; -} - static int Open (vlc_object_t *obj) { audio_output_t *aout = (audio_output_t *)obj; _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
