summaryrefslogtreecommitdiffstats
path: root/libmpdemux
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-08-22 23:05:58 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-08-22 23:05:58 +0000
commit177d2185e928d7b7332e9e1bfa6d38212ea7cc9b (patch)
tree654d385bd4e89fbd77cda75a89fe2e9d1b14a0b7 /libmpdemux
parent4ae1571dda7f29737939a91445bef2885bd0ebea (diff)
downloadmpv-177d2185e928d7b7332e9e1bfa6d38212ea7cc9b.tar.bz2
mpv-177d2185e928d7b7332e9e1bfa6d38212ea7cc9b.tar.xz
v4l capture update by Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz>
some silly bugs slipped through.. here is the fix git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7071 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux')
-rw-r--r--libmpdemux/ai_alsa.c2
-rw-r--r--libmpdemux/ai_alsa1x.c2
-rw-r--r--libmpdemux/audio_in.c2
-rw-r--r--libmpdemux/tvi_v4l.c18
4 files changed, 13 insertions, 11 deletions
diff --git a/libmpdemux/ai_alsa.c b/libmpdemux/ai_alsa.c
index 52253b8da7..668e43679f 100644
--- a/libmpdemux/ai_alsa.c
+++ b/libmpdemux/ai_alsa.c
@@ -105,7 +105,7 @@ int ai_alsa_init(audio_in_t *ai)
err = snd_pcm_open(&ai->alsa.handle, ai->alsa.device, SND_PCM_STREAM_CAPTURE, 0);
if (err < 0) {
- mp_msg(MSGT_TV, MSGL_ERR, "Error opening audio");
+ mp_msg(MSGT_TV, MSGL_ERR, "Error opening audio: %s\n", snd_strerror(err));
return -1;
}
diff --git a/libmpdemux/ai_alsa1x.c b/libmpdemux/ai_alsa1x.c
index 52253b8da7..668e43679f 100644
--- a/libmpdemux/ai_alsa1x.c
+++ b/libmpdemux/ai_alsa1x.c
@@ -105,7 +105,7 @@ int ai_alsa_init(audio_in_t *ai)
err = snd_pcm_open(&ai->alsa.handle, ai->alsa.device, SND_PCM_STREAM_CAPTURE, 0);
if (err < 0) {
- mp_msg(MSGT_TV, MSGL_ERR, "Error opening audio");
+ mp_msg(MSGT_TV, MSGL_ERR, "Error opening audio: %s\n", snd_strerror(err));
return -1;
}
diff --git a/libmpdemux/audio_in.c b/libmpdemux/audio_in.c
index c662bfab0f..264a7bc4b4 100644
--- a/libmpdemux/audio_in.c
+++ b/libmpdemux/audio_in.c
@@ -106,7 +106,7 @@ int audio_in_set_device(audio_in_t *ai, char *device)
ai->alsa.device = strdup(device);
/* mplayer cannot handle colons in arguments */
for (i = 0; i < strlen(ai->alsa.device); i++) {
- if (ai->alsa.device[i] == ',') ai->alsa.device[i] = ':';
+ if (ai->alsa.device[i] == '.') ai->alsa.device[i] = ':';
}
return 0;
#endif
diff --git a/libmpdemux/tvi_v4l.c b/libmpdemux/tvi_v4l.c
index 7bbf7409dc..8075f516b0 100644
--- a/libmpdemux/tvi_v4l.c
+++ b/libmpdemux/tvi_v4l.c
@@ -298,7 +298,6 @@ static void init_v4l_audio(priv_t *priv)
ioctl(priv->video_fd, VIDIOCSAUDIO, &priv->audio[i]);
}
- priv->audio[i].audio = i;
if (ioctl(priv->video_fd, VIDIOCGAUDIO, &priv->audio[i]) == -1)
{
mp_msg(MSGT_TV, MSGL_ERR, "ioctl get audio failed: %s\n", strerror(errno));
@@ -338,13 +337,6 @@ static int init(priv_t *priv)
if (tv_param_immediate == 1)
tv_param_noaudio = 1;
- if (!tv_param_noaudio) {
- }
-
- if (priv->audio_device) {
- audio_in_set_device(&priv->audio_in, priv->audio_device);
- }
-
priv->video_ringbuffer = NULL;
priv->video_timebuffer = NULL;
priv->audio_ringbuffer = NULL;
@@ -477,6 +469,10 @@ static int init(priv_t *priv)
audio_in_init(&priv->audio_in, AUDIO_IN_OSS);
#endif
+ if (priv->audio_device) {
+ audio_in_set_device(&priv->audio_in, priv->audio_device);
+ }
+
if (tv_param_audio_id < priv->capability.audios)
priv->audio_id = tv_param_audio_id;
else
@@ -704,6 +700,12 @@ static int start(priv_t *priv)
if (priv->audio[priv->audio_id].volume <= 0)
priv->audio[priv->audio_id].volume = 100;
priv->audio[priv->audio_id].flags &= ~VIDEO_AUDIO_MUTE;
+ mp_msg(MSGT_TV, MSGL_V, "Starting audio capture\n");
+ mp_msg(MSGT_TV, MSGL_V, "id=%d volume=%d bass=%d treble=%d balance=%d mode=%s\n",
+ priv->audio_id,
+ priv->audio[priv->audio_id].volume, priv->audio[priv->audio_id].bass, priv->audio[priv->audio_id].treble,
+ priv->audio[priv->audio_id].balance, audio_mode2name[priv->audio[priv->audio_id].mode]);
+ mp_msg(MSGT_TV, MSGL_V, " channels: %d\n", priv->audio_channels[priv->audio_id]);
ioctl(priv->video_fd, VIDIOCSAUDIO, &priv->audio[priv->audio_id]);
/* launch capture threads */