From 54c391569db59173988f22485f9d287d64ad19d7 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Sat, 17 Jul 2010 12:29:45 +0100 Subject: "Configuration loaded" log item. --- src/xine-engine/configfile.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/xine-engine/configfile.c b/src/xine-engine/configfile.c index 8b274a801..484d1d16f 100644 --- a/src/xine-engine/configfile.c +++ b/src/xine-engine/configfile.c @@ -24,6 +24,7 @@ #include "config.h" #endif +#include #include #include #include @@ -987,7 +988,13 @@ void xine_config_load (xine_t *xine, const char *filename) { } fclose (f_config); + xine_log(xine, XINE_LOG_MSG, + _("Loaded configuration from file '%s'\n"), filename); + } + else if (errno != ENOENT) + xine_log(xine, XINE_LOG_MSG, + _("Failed to load configuration from file '%s': %s\n"), filename, strerror (errno)); } void xine_config_save (xine_t *xine, const char *filename) { -- cgit v1.2.3 From 88f548126c320ce5ad580d5c2441c972a6041254 Mon Sep 17 00:00:00 2001 From: Lorenzo Desole Date: Thu, 8 Jul 2010 17:53:06 +0100 Subject: Set default volume value at init time (pulseaudio) --- src/audio_out/audio_pulse_out.c | 53 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'src') diff --git a/src/audio_out/audio_pulse_out.c b/src/audio_out/audio_pulse_out.c index d4d19ce1b..d97b710a5 100644 --- a/src/audio_out/audio_pulse_out.c +++ b/src/audio_out/audio_pulse_out.c @@ -78,6 +78,8 @@ typedef struct pulse_driver_s { uint32_t bits_per_sample; uint32_t bytes_per_frame; + int volume_bool; + } pulse_driver_t; @@ -410,6 +412,55 @@ static int ao_pulse_open(ao_driver_t *this_gen, pa_threaded_mainloop_unlock(this->mainloop); + /* Now we must handle a problem: at init time, xine might have tried to set the default volume value + * This won't work with pulseaudio, because, at that time, pulseaudio doesn't have a stream. + * As a workaround, we re-do the volume thingie here */ + + config_values_t *cfg; + cfg = this->xine->config; + + cfg_entry_t *entry; + + if (this->volume_bool) { + this->volume_bool = 0; + + if (this->num_channels) + pa_cvolume_reset(&this->cvolume, this->num_channels); + + entry = cfg->lookup_entry (cfg, "audio.volume.remember_volume"); + + if (entry && entry->num_value) { + entry = cfg->lookup_entry (cfg, "audio.volume.mixer_volume"); + if (entry) { + this->ao_driver.set_property(&this->ao_driver, AO_PROP_MIXER_VOL, entry->num_value); + + /* Notify frontend about the volume change */ + xine_event_t event; + xine_audio_level_data_t data; + xine_stream_t *stream; + xine_list_iterator_t ite; + + data.right = data.left = entry->num_value; + data.mute = 0; + + event.type = XINE_EVENT_AUDIO_LEVEL; + event.data = &data; + event.data_length = sizeof(data); + + pthread_mutex_lock(&this->xine->streams_lock); + for(ite = xine_list_front(this->xine->streams); ite; ite = + xine_list_next(this->xine->streams, ite)) { + stream = xine_list_get_value(this->xine->streams, ite); + event.stream = stream; + xine_event_send(stream, &event); + } + pthread_mutex_unlock(&this->xine->streams_lock); + + } + } + + } + return this->sample_rate; fail: @@ -830,6 +881,8 @@ static ao_driver_t *open_plugin (audio_driver_class_t *class_gen, const void *da return NULL; } + this->volume_bool = 1; + return &this->ao_driver; } -- cgit v1.2.3 From 84e3cfe768a494b5c99fd1aca5f58b1e12094236 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Sun, 18 Jul 2010 19:47:57 +0100 Subject: Add audio/ac3. --- src/demuxers/demux_ac3.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/demuxers/demux_ac3.c b/src/demuxers/demux_ac3.c index f13144254..05be00ae9 100644 --- a/src/demuxers/demux_ac3.c +++ b/src/demuxers/demux_ac3.c @@ -476,7 +476,7 @@ static const char *get_extensions (demux_class_t *this_gen) { } static const char *get_mimetypes (demux_class_t *this_gen) { - return NULL; + return "audio/ac3: ac3: Dolby Digital audio;"; } static void class_dispose (demux_class_t *this_gen) { -- cgit v1.2.3 From 33fc4bc00ae12749ff588ad438a5490d5edb4172 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Sun, 18 Jul 2010 23:40:03 +0100 Subject: Recognise ScreamTracker files. ST3 is untested. --- src/demuxers/demux_mod.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src') diff --git a/src/demuxers/demux_mod.c b/src/demuxers/demux_mod.c index 0439be7ee..55eca30c3 100644 --- a/src/demuxers/demux_mod.c +++ b/src/demuxers/demux_mod.c @@ -124,6 +124,14 @@ static int probe_mod_file(demux_mod_t *this) { return 1; } + /* ScreamTracker 2 */ + if (!memcmp (header.buffer + 20, "!Scream!", 7)) + return 1; + + /* ScreamTracker 3 */ + if (_X_ABE_32(header.values + 0x2C / sizeof (uint32_t)) == FOURCC_32('S', 'C', 'R', 'M')) + return 1; + return 0; } -- cgit v1.2.3 From 0a248642d1d8f9908ce90bed2558eec3410b64ad Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Sun, 18 Jul 2010 23:48:13 +0100 Subject: Fix playback of the first file handled by the modplug demuxer. --- src/demuxers/demux_mod.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/demuxers/demux_mod.c b/src/demuxers/demux_mod.c index 55eca30c3..2749eb048 100644 --- a/src/demuxers/demux_mod.c +++ b/src/demuxers/demux_mod.c @@ -166,13 +166,6 @@ static int open_mod_file(demux_mod_t *this) { return 0; } - this->mpfile = ModPlug_Load(this->buffer, this->filesize); - if (this->mpfile==NULL) { - xine_log(this->stream->xine, XINE_LOG_PLUGIN, "modplug - load error\n"); - free(this->buffer); - return 0; - } - /* Set up modplug engine */ ModPlug_GetSettings(&this->settings); this->settings.mResamplingMode = MODPLUG_RESAMPLE_FIR; /* RESAMP */ @@ -181,6 +174,13 @@ static int open_mod_file(demux_mod_t *this) { this->settings.mFrequency = MOD_SAMPLERATE; ModPlug_SetSettings(&this->settings); + this->mpfile = ModPlug_Load(this->buffer, this->filesize); + if (this->mpfile==NULL) { + xine_log(this->stream->xine, XINE_LOG_PLUGIN, "modplug - load error\n"); + free(this->buffer); + return 0; + } + this->title = strdup(ModPlug_GetName(this->mpfile)); this->artist = strdup(""); this->copyright = strdup(""); -- cgit v1.2.3