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(&params); 23 snd_pcm_hw_params_alloca(&params);
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 */