vlc | branch: master | Thomas Guillem <[email protected]> | Tue Mar 12 14:46:50 2019 +0100| [22ebe8f64304fbd23184ae8e7645ba3b175062ed] | committer: Thomas Guillem
modules: remove tizen_audio Since it's not used and built since a long time > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=22ebe8f64304fbd23184ae8e7645ba3b175062ed --- modules/MODULES_LIST | 1 - modules/audio_output/Makefile.am | 5 - modules/audio_output/tizen_audio.c | 377 ------------------------------------- po/POTFILES.in | 1 - 4 files changed, 384 deletions(-) diff --git a/modules/MODULES_LIST b/modules/MODULES_LIST index 45d0eb074d..c6aad68600 100644 --- a/modules/MODULES_LIST +++ b/modules/MODULES_LIST @@ -410,7 +410,6 @@ $Id$ * textst: HDMV text subtitles decoder * theora: a theora video decoder/packetizer/encoder using the libtheora * timecode: clock/timecode as a subtitle input - * tizen_audio: audio output for Tizen * tospdif: Audio converter module to encapsulate A/52 and DTS into S/PDIF * transform: filter for horizontal and vertical image flips and 90° rotations * tremor: a vorbis audio decoder using the libvorbisidec (aka tremor) library diff --git a/modules/audio_output/Makefile.am b/modules/audio_output/Makefile.am index 48c19d79ea..4af4d78c5f 100644 --- a/modules/audio_output/Makefile.am +++ b/modules/audio_output/Makefile.am @@ -117,8 +117,3 @@ endif if HAVE_TVOS aout_LTLIBRARIES += libaudiounit_ios_plugin.la endif - -libtizen_audio_plugin_la_SOURCES = audio_output/tizen_audio.c -libtizen_audio_plugin_la_CFLAGS = $(AM_CFLAGS) -EXTRA_LTLIBRARIES += libtizen_audio_plugin.la -aout_LTLIBRARIES += $(LTLIBtizen_audio) diff --git a/modules/audio_output/tizen_audio.c b/modules/audio_output/tizen_audio.c deleted file mode 100644 index 6ed34ac3d3..0000000000 --- a/modules/audio_output/tizen_audio.c +++ /dev/null @@ -1,377 +0,0 @@ -/***************************************************************************** - * tizen_audio.c: Tizen audio output module - ***************************************************************************** - * Copyright © 2015 VLC authors, VideoLAN and VideoLabs - * - * Authors: Thomas Guillem <[email protected]> - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation; either version 2.1 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. - *****************************************************************************/ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <assert.h> -#include <dlfcn.h> -#include <stdbool.h> -#include <stdatomic.h> - -#include <vlc_common.h> -#include <vlc_plugin.h> -#include <vlc_aout.h> - -#include "audio_io.h" -#include "sound_manager.h" - -static int Open( vlc_object_t * ); -static void Close( vlc_object_t * ); - -typedef struct -{ - /* sw gain */ - float soft_gain; - bool soft_mute; - - audio_out_h out; - bool b_prepared; - bool b_error; - atomic_bool interrupted_completed; - - unsigned int i_rate; - audio_sample_type_e i_sample_type; - audio_channel_e i_channel; - - int (*pf_audio_out_drain)( audio_out_h output ); - int (*pf_audio_out_flush)( audio_out_h output ); -} aout_sys_t; - -/* Soft volume helper */ -#include "audio_output/volume.h" - -vlc_module_begin () - set_shortname( "Tizen audio" ) - set_description( "Tizen audio output" ) - set_capability( "audio output", 180 ) - set_category( CAT_AUDIO ) - set_subcategory( SUBCAT_AUDIO_AOUT ) - add_sw_gain() - add_shortcut( "tizen" ) - set_callbacks( Open, Close ) -vlc_module_end () - -static const char * -AudioIO_Err2Str( audio_io_error_e e ) -{ - switch( e ) - { - case AUDIO_IO_ERROR_NONE: - return "AUDIO_IO_ERROR_NONE"; - case AUDIO_IO_ERROR_OUT_OF_MEMORY: - return "AUDIO_IO_ERROR_OUT_OF_MEMORY"; - case AUDIO_IO_ERROR_INVALID_PARAMETER: - return "AUDIO_IO_ERROR_INVALID_PARAMETER"; - case AUDIO_IO_ERROR_INVALID_OPERATION: - return "AUDIO_IO_ERROR_INVALID_OPERATION"; - case AUDIO_IO_ERROR_PERMISSION_DENIED: - return "AUDIO_IO_ERROR_PERMISSION_DENIED"; - case AUDIO_IO_ERROR_NOT_SUPPORTED: - return "AUDIO_IO_ERROR_NOT_SUPPORTED"; - case AUDIO_IO_ERROR_DEVICE_NOT_OPENED: - return "AUDIO_IO_ERROR_DEVICE_NOT_OPENED"; - case AUDIO_IO_ERROR_DEVICE_NOT_CLOSED: - return "AUDIO_IO_ERROR_DEVICE_NOT_CLOSED"; - case AUDIO_IO_ERROR_INVALID_BUFFER: - return "AUDIO_IO_ERROR_INVALID_BUFFER"; - case AUDIO_IO_ERROR_SOUND_POLICY: - return "AUDIO_IO_ERROR_SOUND_POLICY"; - default: - return "UNKNOWN_ERROR"; - } -} - -static int -AudioIO_VlcRet( audio_output_t *p_aout, const char *p_func, int i_ret ) -{ - if( i_ret != AUDIO_IO_ERROR_NONE ) - { - aout_sys_t *p_sys = p_aout->sys; - - msg_Err( p_aout, "%s failed: 0x%X, %s", p_func, - i_ret, AudioIO_Err2Str( i_ret ) ); - - /* Error could be recoverable if audio_out was interrupted. */ - p_sys->b_error = true; - return VLC_EGENERIC; - } - else - return VLC_SUCCESS; -} -#define VLCRET( func ) AudioIO_VlcRet( p_aout, #func, func ) - -static int -AudioIO_Prepare( audio_output_t *p_aout ) -{ - aout_sys_t *p_sys = p_aout->sys; - - /* if no more interrupted, cancel error and try again */ - if( atomic_exchange( &p_sys->interrupted_completed, false ) ) - p_sys->b_error = false; - - if( p_sys->b_error ) - return VLC_EGENERIC; - - if( !p_sys->b_prepared ) - { - if( VLCRET( audio_out_prepare( p_sys->out ) ) ) - return VLC_EGENERIC; - p_sys->b_prepared = true; - } - return VLC_SUCCESS; -} - -static int -AudioIO_Unprepare( audio_output_t *p_aout ) -{ - aout_sys_t *p_sys = p_aout->sys; - - if( p_sys->b_prepared ) - { - p_sys->b_prepared = false; - - /* Unlocked to avoid deadlock with AudioIO_StreamCb */ - if( VLCRET( audio_out_unprepare( p_sys->out ) ) ) - return VLC_EGENERIC; - } - return VLC_SUCCESS; -} - -static void -AudioIO_InterruptedCb(audio_io_interrupted_code_e code, void *p_user_data) -{ - audio_output_t *p_aout = p_user_data; - aout_sys_t *p_sys = p_aout->sys; - - if( code == AUDIO_IO_INTERRUPTED_COMPLETED - || code == AUDIO_IO_INTERRUPTED_BY_EARJACK_UNPLUG ) - { - msg_Warn( p_aout, "audio_out interrupted completed by %d", code); - atomic_store( &p_sys->interrupted_completed, true ); - } - else - { - msg_Warn( p_aout, "audio_out interrupted by %d", code); - atomic_store( &p_sys->interrupted_completed, false ); - } -} - -static int -AudioIO_Start( audio_output_t *p_aout ) -{ - aout_sys_t *p_sys = p_aout->sys; - - /* Out create */ - if( VLCRET( audio_out_create( p_sys->i_rate, p_sys->i_channel, - p_sys->i_sample_type, SOUND_TYPE_MEDIA, - &p_sys->out ) ) ) - return VLC_EGENERIC; - return VLCRET( audio_out_set_interrupted_cb( p_sys->out, - AudioIO_InterruptedCb, - p_aout ) ); -} - -static int -Start( audio_output_t *p_aout, audio_sample_format_t *restrict p_fmt ) -{ - aout_sys_t *p_sys = p_aout->sys; - - if( aout_FormatNbChannels( p_fmt ) == 0 ) - return VLC_EGENERIC; - - aout_FormatPrint( p_aout, "Tizen audio is looking for:", p_fmt ); - - /* Sample rate: tizen accept rate between 8000 and 48000 Hz */ - p_sys->i_rate = p_fmt->i_rate = VLC_CLIP( p_fmt->i_rate, 8000, 48000 ); - - /* Channel */ - switch( p_fmt->i_physical_channels ) - { - case AOUT_CHAN_LEFT: - p_sys->i_channel = AUDIO_CHANNEL_MONO; - break; - default: - case AOUT_CHANS_STEREO: - p_fmt->i_physical_channels = AOUT_CHANS_STEREO; - p_sys->i_channel = AUDIO_CHANNEL_STEREO; - break; - } - - /* Sample type */ - switch( p_fmt->i_format ) - { - case VLC_CODEC_U8: - p_sys->i_sample_type = AUDIO_SAMPLE_TYPE_U8; - break; - default: - case VLC_CODEC_S16N: - p_fmt->i_format = VLC_CODEC_S16N; - p_sys->i_sample_type = AUDIO_SAMPLE_TYPE_S16_LE; - break; - } - - if( AudioIO_Start( p_aout ) != VLC_SUCCESS ) - return VLC_EGENERIC; - - p_fmt->channel_type = AUDIO_CHANNEL_TYPE_BITMAP; - - aout_FormatPrepare( p_fmt ); - aout_SoftVolumeStart( p_aout ); - - aout_FormatPrint( p_aout, "Tizen audio will output:", p_fmt ); - - return VLC_SUCCESS; -} - -static void -Stop( audio_output_t *p_aout ) -{ - aout_sys_t *p_sys = p_aout->sys; - - if( p_sys->out) - { - AudioIO_Unprepare( p_aout ); - audio_out_unset_interrupted_cb( p_sys->out ); - audio_out_destroy( p_sys->out ); - p_sys->out = NULL; - } - p_sys->b_error = false; - atomic_store( &p_sys->interrupted_completed, false ); - - p_sys->i_rate = 0; - p_sys->i_channel = 0; - p_sys->i_sample_type = 0; -} - -static void -Play( audio_output_t *p_aout, block_t *p_block, vlc_tick_t date ) -{ - aout_sys_t *p_sys = p_aout->sys; - - if( !p_sys->out || AudioIO_Prepare( p_aout ) ) - { - block_Release( p_block ); - return; - } - - while( p_block ) - { - int i_ret = audio_out_write( p_sys->out, p_block->p_buffer, p_block->i_buffer ); - if( i_ret < 0 ) - { - AudioIO_VlcRet( p_aout, "audio_out_write", i_ret ); - block_Release( p_block ); - p_block = NULL; - } - else - { - p_block->i_buffer -= i_ret; - p_block->p_buffer += i_ret; - if( !p_block->i_buffer ) - { - block_Release( p_block ); - p_block = NULL; - } - } - } - (void) date; -} - -static void -Pause( audio_output_t *p_aout, bool b_pause, vlc_tick_t i_date ) -{ - aout_sys_t *p_sys = p_aout->sys; - (void) i_date; - - if( !p_sys->out ) - return; - - if( b_pause ) - AudioIO_Unprepare( p_aout ); -} - -static void -Flush( audio_output_t *p_aout, bool b_wait ) -{ - aout_sys_t *p_sys = p_aout->sys; - - if( !p_sys->out ) - return; - - if( p_sys->pf_audio_out_drain || p_sys->pf_audio_out_flush ) - { - if( b_wait ) - VLCRET( p_sys->pf_audio_out_drain( p_sys->out ) ); - else - VLCRET( p_sys->pf_audio_out_flush( p_sys->out ) ); - } - else - { - (void) b_wait; - if( AudioIO_Unprepare( p_aout ) ) - return; - audio_out_unset_interrupted_cb( p_sys->out ); - audio_out_destroy( p_sys->out ); - p_sys->out = NULL; - AudioIO_Start( p_aout ); - } -} - -static int -Open( vlc_object_t *obj ) -{ - audio_output_t *p_aout = (audio_output_t *) obj; - aout_sys_t *p_sys; - - p_sys = calloc( 1, sizeof (aout_sys_t) ); - if( unlikely( p_sys == NULL ) ) - return VLC_ENOMEM; - - p_aout->sys = p_sys; - p_aout->start = Start; - p_aout->stop = Stop; - p_aout->play = Play; - p_aout->pause = Pause; - p_aout->flush = Flush; - /* p_aout->time_get = TimeGet; FIXME */ - - /* Available only on 2.4 */ - p_sys->pf_audio_out_drain = dlsym( RTLD_DEFAULT, "audio_out_drain" ); - p_sys->pf_audio_out_flush = dlsym( RTLD_DEFAULT, "audio_out_flush" ); - - aout_SoftVolumeInit( p_aout ); - - atomic_init( &p_sys->interrupted_completed, false ); - - return VLC_SUCCESS; -} - -static void -Close( vlc_object_t *obj ) -{ - audio_output_t *p_aout = (audio_output_t *) obj; - aout_sys_t *p_sys = p_aout->sys; - - free( p_sys ); -} diff --git a/po/POTFILES.in b/po/POTFILES.in index 5f26937ac2..c0d73027ab 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -279,7 +279,6 @@ modules/audio_output/oss.c modules/audio_output/pulse.c modules/audio_output/sndio.c modules/audio_output/vlcpulse.c -modules/audio_output/tizen_audio.c modules/audio_output/volume.h modules/audio_output/wasapi.c modules/audio_output/waveout.c _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
