Mercurial > mplayer.hg
comparison libmpdemux/ai_alsa1x.c @ 16905:c3762297a9d1
changes from MSGTR_MPDEMUX_AIALSA1X_* to MSGTR_MPDEMUX_AIALSA_* since they are the same messages
author | ptt |
---|---|
date | Sat, 05 Nov 2005 00:48:43 +0000 |
parents | dfbe8cd0e081 |
children | d2d9d011203f |
comparison
equal
deleted
inserted
replaced
16904:a95819f390f4 | 16905:c3762297a9d1 |
---|---|
23 snd_pcm_hw_params_alloca(¶ms); | 23 snd_pcm_hw_params_alloca(¶ms); |
24 snd_pcm_sw_params_alloca(&swparams); | 24 snd_pcm_sw_params_alloca(&swparams); |
25 | 25 |
26 err = snd_pcm_hw_params_any(ai->alsa.handle, params); | 26 err = snd_pcm_hw_params_any(ai->alsa.handle, params); |
27 if (err < 0) { | 27 if (err < 0) { |
28 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA1X_PcmBrokenConfig); | 28 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_PcmBrokenConfig); |
29 return -1; | 29 return -1; |
30 } | 30 } |
31 | 31 |
32 err = snd_pcm_hw_params_set_access(ai->alsa.handle, params, | 32 err = snd_pcm_hw_params_set_access(ai->alsa.handle, params, |
33 SND_PCM_ACCESS_RW_INTERLEAVED); | 33 SND_PCM_ACCESS_RW_INTERLEAVED); |
34 if (err < 0) { | 34 if (err < 0) { |
35 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA1X_UnavailableAccessType); | 35 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_UnavailableAccessType); |
36 return -1; | 36 return -1; |
37 } | 37 } |
38 | 38 |
39 err = snd_pcm_hw_params_set_format(ai->alsa.handle, params, SND_PCM_FORMAT_S16_LE); | 39 err = snd_pcm_hw_params_set_format(ai->alsa.handle, params, SND_PCM_FORMAT_S16_LE); |
40 if (err < 0) { | 40 if (err < 0) { |
41 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA1X_UnavailableSampleFmt); | 41 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_UnavailableSampleFmt); |
42 return -1; | 42 return -1; |
43 } | 43 } |
44 | 44 |
45 err = snd_pcm_hw_params_set_channels(ai->alsa.handle, params, ai->req_channels); | 45 err = snd_pcm_hw_params_set_channels(ai->alsa.handle, params, ai->req_channels); |
46 if (err < 0) { | 46 if (err < 0) { |
47 snd_pcm_hw_params_get_channels(params, &ai->channels); | 47 snd_pcm_hw_params_get_channels(params, &ai->channels); |
48 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA1X_UnavailableChanCount, | 48 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_UnavailableChanCount, |
49 ai->channels); | 49 ai->channels); |
50 } else { | 50 } else { |
51 ai->channels = ai->req_channels; | 51 ai->channels = ai->req_channels; |
52 } | 52 } |
53 | 53 |
75 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA1X_CannotSetPeriodTime); | 75 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA1X_CannotSetPeriodTime); |
76 } | 76 } |
77 | 77 |
78 err = snd_pcm_hw_params(ai->alsa.handle, params); | 78 err = snd_pcm_hw_params(ai->alsa.handle, params); |
79 if (err < 0) { | 79 if (err < 0) { |
80 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA1X_CannotInstallHWParams, snd_strerror(err)); | 80 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_CannotInstallHWParams, snd_strerror(err)); |
81 snd_pcm_hw_params_dump(params, ai->alsa.log); | 81 snd_pcm_hw_params_dump(params, ai->alsa.log); |
82 return -1; | 82 return -1; |
83 } | 83 } |
84 | 84 |
85 dir = -1; | 85 dir = -1; |
86 snd_pcm_hw_params_get_period_size(params, &period_size, &dir); | 86 snd_pcm_hw_params_get_period_size(params, &period_size, &dir); |
87 snd_pcm_hw_params_get_buffer_size(params, &buffer_size); | 87 snd_pcm_hw_params_get_buffer_size(params, &buffer_size); |
88 ai->alsa.chunk_size = period_size; | 88 ai->alsa.chunk_size = period_size; |
89 if (period_size == buffer_size) { | 89 if (period_size == buffer_size) { |
90 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA1X_PeriodEqualsBufferSize, ai->alsa.chunk_size, (long)buffer_size); | 90 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_PeriodEqualsBufferSize, ai->alsa.chunk_size, (long)buffer_size); |
91 return -1; | 91 return -1; |
92 } | 92 } |
93 | 93 |
94 snd_pcm_sw_params_current(ai->alsa.handle, swparams); | 94 snd_pcm_sw_params_current(ai->alsa.handle, swparams); |
95 err = snd_pcm_sw_params_set_sleep_min(ai->alsa.handle, swparams,0); | 95 err = snd_pcm_sw_params_set_sleep_min(ai->alsa.handle, swparams,0); |
102 err = snd_pcm_sw_params_set_stop_threshold(ai->alsa.handle, swparams, buffer_size); | 102 err = snd_pcm_sw_params_set_stop_threshold(ai->alsa.handle, swparams, buffer_size); |
103 assert(err >= 0); | 103 assert(err >= 0); |
104 | 104 |
105 assert(err >= 0); | 105 assert(err >= 0); |
106 if (snd_pcm_sw_params(ai->alsa.handle, swparams) < 0) { | 106 if (snd_pcm_sw_params(ai->alsa.handle, swparams) < 0) { |
107 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA1X_CannotInstallSWParams); | 107 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_CannotInstallSWParams); |
108 snd_pcm_sw_params_dump(swparams, ai->alsa.log); | 108 snd_pcm_sw_params_dump(swparams, ai->alsa.log); |
109 return -1; | 109 return -1; |
110 } | 110 } |
111 | 111 |
112 if (mp_msg_test(MSGT_TV, MSGL_V)) { | 112 if (mp_msg_test(MSGT_TV, MSGL_V)) { |
126 { | 126 { |
127 int err; | 127 int err; |
128 | 128 |
129 err = snd_pcm_open(&ai->alsa.handle, ai->alsa.device, SND_PCM_STREAM_CAPTURE, 0); | 129 err = snd_pcm_open(&ai->alsa.handle, ai->alsa.device, SND_PCM_STREAM_CAPTURE, 0); |
130 if (err < 0) { | 130 if (err < 0) { |
131 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA1X_ErrorOpeningAudio, snd_strerror(err)); | 131 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_ErrorOpeningAudio, snd_strerror(err)); |
132 return -1; | 132 return -1; |
133 } | 133 } |
134 | 134 |
135 err = snd_output_stdio_attach(&ai->alsa.log, stderr, 0); | 135 err = snd_output_stdio_attach(&ai->alsa.log, stderr, 0); |
136 | 136 |
160 snd_pcm_status_t *status; | 160 snd_pcm_status_t *status; |
161 int res; | 161 int res; |
162 | 162 |
163 snd_pcm_status_alloca(&status); | 163 snd_pcm_status_alloca(&status); |
164 if ((res = snd_pcm_status(ai->alsa.handle, status))<0) { | 164 if ((res = snd_pcm_status(ai->alsa.handle, status))<0) { |
165 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA1X_AlsaStatusError, snd_strerror(res)); | 165 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_AlsaStatusError, snd_strerror(res)); |
166 return -1; | 166 return -1; |
167 } | 167 } |
168 if (snd_pcm_status_get_state(status) == SND_PCM_STATE_XRUN) { | 168 if (snd_pcm_status_get_state(status) == SND_PCM_STATE_XRUN) { |
169 struct timeval now, diff, tstamp; | 169 struct timeval now, diff, tstamp; |
170 gettimeofday(&now, 0); | 170 gettimeofday(&now, 0); |
171 snd_pcm_status_get_trigger_tstamp(status, &tstamp); | 171 snd_pcm_status_get_trigger_tstamp(status, &tstamp); |
172 timersub(&now, &tstamp, &diff); | 172 timersub(&now, &tstamp, &diff); |
173 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA1X_AlsaXRUN, | 173 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_AlsaXRUN, |
174 diff.tv_sec * 1000 + diff.tv_usec / 1000.0); | 174 diff.tv_sec * 1000 + diff.tv_usec / 1000.0); |
175 if (mp_msg_test(MSGT_TV, MSGL_V)) { | 175 if (mp_msg_test(MSGT_TV, MSGL_V)) { |
176 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA1X_AlsaStatus); | 176 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_AlsaStatus); |
177 snd_pcm_status_dump(status, ai->alsa.log); | 177 snd_pcm_status_dump(status, ai->alsa.log); |
178 } | 178 } |
179 if ((res = snd_pcm_prepare(ai->alsa.handle))<0) { | 179 if ((res = snd_pcm_prepare(ai->alsa.handle))<0) { |
180 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA1X_AlsaXRUNPrepareError, snd_strerror(res)); | 180 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_AlsaXRUNPrepareError, snd_strerror(res)); |
181 return -1; | 181 return -1; |
182 } | 182 } |
183 return 0; /* ok, data should be accepted again */ | 183 return 0; /* ok, data should be accepted again */ |
184 } | 184 } |
185 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA1X_AlsaReadWriteError); | 185 mp_msg(MSGT_TV, MSGL_ERR, MSGTR_MPDEMUX_AIALSA_AlsaReadWriteError); |
186 return -1; | 186 return -1; |
187 } | 187 } |
188 | 188 |
189 #endif /* HAVE_ALSA1X */ | 189 #endif /* HAVE_ALSA1X */ |