summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUoti Urpala <uau@glyph.nonexistent.invalid>2010-01-28 00:54:08 +0200
committerUoti Urpala <uau@glyph.nonexistent.invalid>2010-01-28 00:54:08 +0200
commitd84685ce13c7b31689b257e44b780373c91f8d32 (patch)
treea16cf570b42d8aed52a42a385d7a27ee36551e98
parent79ab199322a7070c489eca842e472d15be02412c (diff)
parent9b6b3ff08c3f0c5151a379cabd08cfb0fa309f79 (diff)
downloadmpv-d84685ce13c7b31689b257e44b780373c91f8d32.tar.bz2
mpv-d84685ce13c7b31689b257e44b780373c91f8d32.tar.xz
Merge svn changes up to r30448
-rw-r--r--DOCS/tech/MAINTAINERS4
-rw-r--r--etc/codecs.conf32
-rw-r--r--libao2/ao_alsa.c23
3 files changed, 26 insertions, 33 deletions
diff --git a/DOCS/tech/MAINTAINERS b/DOCS/tech/MAINTAINERS
index 01d23b8c9c..e2fcf01862 100644
--- a/DOCS/tech/MAINTAINERS
+++ b/DOCS/tech/MAINTAINERS
@@ -172,7 +172,7 @@ libvo drivers:
* vo_ivtv.c - Benjamin Zores
* vo_jpeg.c - Ivo van Poorten
* vo_md5sum.c - Ivo van Poorten
- * vo_mga.c - Attila Kinali
+ * vo_mga.c - None
* vo_mpegpes.c - None
* vo_null.c - None
* vo_png.c - Felix Bünemann
@@ -186,7 +186,7 @@ libvo drivers:
* vo_wii.c - Benjamin Zores
* vo_winvidix.c - Sascha Sommer
* vo_x11.c - Alexander Strasser
- * vo_xmga.c - Attila Kinali
+ * vo_xmga.c - None
* vo_xover.c - Alban Bedel
* vo_xv.c - Alexander Strasser
* vo_xvidix.c - None
diff --git a/etc/codecs.conf b/etc/codecs.conf
index 3496604e49..d018d2d0a2 100644
--- a/etc/codecs.conf
+++ b/etc/codecs.conf
@@ -3978,20 +3978,6 @@ audiocodec msadpcmacm
driver acm
dll "msadp32.acm"
-audiocodec mp3
- info "mp3lib MPEG layer-2, layer-3"
- status working
- comment "Optimized to MMX/SSE/3Dnow!"
- format 0x50 ; layer-1 && layer-2
- format 0x55 ; layer-3
- format 0x5500736d ; "ms\0\x55" older mp3 fcc (MOV files)
- format 0x5000736d ; "ms\0\x50" older mp2 fcc (MOV files)
- format 0x55005354 ; broken file
- fourcc ".mp3" ; CBR/VBR MP3 (MOV files)
- fourcc "MP3 " ; used in .nsv files
- fourcc "LAME" ; used in mythtv .nuv files
- driver mp3lib
-
audiocodec ffpcmdaud
info "D-Cinema audio (FFmpeg)"
status untested
@@ -4043,6 +4029,23 @@ audiocodec ffsonic
driver ffmpeg
dll "sonic"
+audiocodec mp3
+ ; this is preferred over ffmp2/ffmp3 since it is faster due to using
+ ; floating point and there are even broken mkv files where the audio
+ ; needs to be parsed, making this codec work more reliably
+ info "mp3lib MPEG layer-2, layer-3"
+ status working
+ comment "Optimized to MMX/SSE/3Dnow!"
+ format 0x50 ; layer-1 && layer-2
+ format 0x55 ; layer-3
+ format 0x5500736d ; "ms\0\x55" older mp3 fcc (MOV files)
+ format 0x5000736d ; "ms\0\x50" older mp2 fcc (MOV files)
+ format 0x55005354 ; broken file
+ fourcc ".mp3" ; CBR/VBR MP3 (MOV files)
+ fourcc "MP3 " ; used in .nsv files
+ fourcc "LAME" ; used in mythtv .nuv files
+ driver mp3lib
+
audiocodec ffmp3on4
info "FFmpeg Multi-channel MPEG layer-3 on MP4 audio"
status working
@@ -4076,6 +4079,7 @@ audiocodec ffmp2
comment "integer only"
status working
format 0x50
+ format 0x5000736d ; "ms\0\x50" older mp2 fcc (MOV files)
fourcc ".mp2" ; MP2 (MOV files)
fourcc ".mp1" ; MP1 (MOV files)
driver ffmpeg
diff --git a/libao2/ao_alsa.c b/libao2/ao_alsa.c
index 92b8b64ea7..49f4237604 100644
--- a/libao2/ao_alsa.c
+++ b/libao2/ao_alsa.c
@@ -77,10 +77,7 @@ static snd_pcm_sw_params_t *alsa_swparams;
static size_t bytes_per_sample;
-static int ao_noblock = 0;
-
-static int open_mode;
-static int alsa_can_pause = 0;
+static int alsa_can_pause;
static snd_pcm_sframes_t prepause_frames;
#define ALSA_DEVICE_SIZE 256
@@ -120,9 +117,9 @@ static int control(int cmd, void *arg)
snd_mixer_elem_t *elem;
snd_mixer_selem_id_t *sid;
- static char *mix_name = "PCM";
- static char *card = "default";
- static int mix_index = 0;
+ char *mix_name = "PCM";
+ char *card = "default";
+ int mix_index = 0;
long pmin, pmax;
long get_vol, set_vol;
@@ -478,25 +475,17 @@ static int init(int rate_hz, int channels, int format, int flags)
print_help();
return 0;
}
- ao_noblock = !block;
parse_device(alsa_device, device.str, device.len);
mp_msg(MSGT_AO,MSGL_V,"alsa-init: using device %s\n", alsa_device);
- //setting modes for block or nonblock-mode
- if (ao_noblock) {
- open_mode = SND_PCM_NONBLOCK;
- }
- else {
- open_mode = 0;
- }
-
if (!alsa_handler) {
+ int open_mode = block ? 0 : SND_PCM_NONBLOCK;
int isac3 = AF_FORMAT_IS_AC3(format);
//modes = 0, SND_PCM_NONBLOCK, SND_PCM_ASYNC
if ((err = try_open_device(alsa_device, open_mode, isac3)) < 0)
{
- if (err != -EBUSY && ao_noblock) {
+ if (err != -EBUSY && !block) {
mp_tmsg(MSGT_AO,MSGL_INFO,"[AO_ALSA] Open in nonblock-mode failed, trying to open in block-mode.\n");
if ((err = try_open_device(alsa_device, 0, isac3)) < 0) {
mp_tmsg(MSGT_AO,MSGL_ERR,"[AO_ALSA] Playback open error: %s\n", snd_strerror(err));