Lines 106-112
enum
Link Here
|
106 |
PROP_DEVICE, |
106 |
PROP_DEVICE, |
107 |
}; |
107 |
}; |
108 |
|
108 |
|
109 |
#define FORMATS "{" GST_AUDIO_NE(S16)","GST_AUDIO_NE(U16)", S8, U8 }" |
109 |
#define FORMATS "{" GST_AUDIO_NE(S32)","GST_AUDIO_NE(U32)"," \ |
|
|
110 |
GST_AUDIO_NE(S24)","GST_AUDIO_NE(U24)"," \ |
111 |
GST_AUDIO_NE(S16)","GST_AUDIO_NE(U16)"," \ |
112 |
"S8, U8 }" |
110 |
|
113 |
|
111 |
static GstStaticPadTemplate osssink_sink_factory = |
114 |
static GstStaticPadTemplate osssink_sink_factory = |
112 |
GST_STATIC_PAD_TEMPLATE ("sink", |
115 |
GST_STATIC_PAD_TEMPLATE ("sink", |
Lines 321-326
gst_oss_sink_get_format (GstAudioRingBuf
Link Here
|
321 |
case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_RAW: |
324 |
case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_RAW: |
322 |
{ |
325 |
{ |
323 |
switch (rfmt) { |
326 |
switch (rfmt) { |
|
|
327 |
case GST_AUDIO_FORMAT_S8: |
328 |
result = AFMT_S8; |
329 |
break; |
324 |
case GST_AUDIO_FORMAT_U8: |
330 |
case GST_AUDIO_FORMAT_U8: |
325 |
result = AFMT_U8; |
331 |
result = AFMT_U8; |
326 |
break; |
332 |
break; |
Lines 330-344
gst_oss_sink_get_format (GstAudioRingBuf
Link Here
|
330 |
case GST_AUDIO_FORMAT_S16BE: |
336 |
case GST_AUDIO_FORMAT_S16BE: |
331 |
result = AFMT_S16_BE; |
337 |
result = AFMT_S16_BE; |
332 |
break; |
338 |
break; |
333 |
case GST_AUDIO_FORMAT_S8: |
|
|
334 |
result = AFMT_S8; |
335 |
break; |
336 |
case GST_AUDIO_FORMAT_U16LE: |
339 |
case GST_AUDIO_FORMAT_U16LE: |
337 |
result = AFMT_U16_LE; |
340 |
result = AFMT_U16_LE; |
338 |
break; |
341 |
break; |
339 |
case GST_AUDIO_FORMAT_U16BE: |
342 |
case GST_AUDIO_FORMAT_U16BE: |
340 |
result = AFMT_U16_BE; |
343 |
result = AFMT_U16_BE; |
341 |
break; |
344 |
break; |
|
|
345 |
case GST_AUDIO_FORMAT_S24LE: |
346 |
result = AFMT_S24_LE; |
347 |
break; |
348 |
case GST_AUDIO_FORMAT_S24BE: |
349 |
result = AFMT_S24_BE; |
350 |
break; |
351 |
case GST_AUDIO_FORMAT_U24LE: |
352 |
result = AFMT_U24_LE; |
353 |
break; |
354 |
case GST_AUDIO_FORMAT_U24BE: |
355 |
result = AFMT_U24_BE; |
356 |
break; |
357 |
case GST_AUDIO_FORMAT_S32LE: |
358 |
result = AFMT_S32_LE; |
359 |
break; |
360 |
case GST_AUDIO_FORMAT_S32BE: |
361 |
result = AFMT_S32_BE; |
362 |
break; |
363 |
case GST_AUDIO_FORMAT_U32LE: |
364 |
result = AFMT_U32_LE; |
365 |
break; |
366 |
case GST_AUDIO_FORMAT_U32BE: |
367 |
result = AFMT_U32_BE; |
368 |
break; |
342 |
default: |
369 |
default: |
343 |
result = 0; |
370 |
result = 0; |
344 |
break; |
371 |
break; |
Lines 441-447
gst_oss_sink_prepare (GstAudioSink * asi
Link Here
|
441 |
rate = GST_AUDIO_INFO_RATE (&spec->info); |
468 |
rate = GST_AUDIO_INFO_RATE (&spec->info); |
442 |
channels = GST_AUDIO_INFO_CHANNELS (&spec->info); |
469 |
channels = GST_AUDIO_INFO_CHANNELS (&spec->info); |
443 |
|
470 |
|
444 |
if (width != 16 && width != 8) |
471 |
if (width != 32 && width != 24 && width != 16 && width != 8) |
445 |
goto dodgy_width; |
472 |
goto dodgy_width; |
446 |
|
473 |
|
447 |
SET_PARAM (oss, SNDCTL_DSP_SETFMT, tmp, "SETFMT"); |
474 |
SET_PARAM (oss, SNDCTL_DSP_SETFMT, tmp, "SETFMT"); |