mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-07-19 21:08:24 +00:00
pulsesink: Add support for AAC pass-through
https://bugzilla.gnome.org/show_bug.cgi?id=694445
This commit is contained in:
parent
1e917822a9
commit
fda72021d2
|
@ -1796,6 +1796,8 @@ gst_pulsesink_payload (GstAudioBaseSink * sink, GstBuffer * buf)
|
||||||
case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_EAC3:
|
case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_EAC3:
|
||||||
case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_DTS:
|
case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_DTS:
|
||||||
case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG:
|
case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG:
|
||||||
|
case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG2_AAC:
|
||||||
|
case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG4_AAC:
|
||||||
{
|
{
|
||||||
/* FIXME: alloc memory from PA if possible */
|
/* FIXME: alloc memory from PA if possible */
|
||||||
gint framesize = gst_audio_iec61937_frame_size (&sink->ringbuffer->spec);
|
gint framesize = gst_audio_iec61937_frame_size (&sink->ringbuffer->spec);
|
||||||
|
|
|
@ -97,7 +97,8 @@ GType gst_pulsesink_get_type (void);
|
||||||
_PULSE_CAPS_AC3 \
|
_PULSE_CAPS_AC3 \
|
||||||
_PULSE_CAPS_EAC3 \
|
_PULSE_CAPS_EAC3 \
|
||||||
_PULSE_CAPS_DTS \
|
_PULSE_CAPS_DTS \
|
||||||
_PULSE_CAPS_MP3
|
_PULSE_CAPS_MP3 \
|
||||||
|
_PULSE_CAPS_AAC
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
|
|
@ -164,6 +164,13 @@ gst_pulse_fill_format_info (GstAudioRingBufferSpec * spec, pa_format_info ** f,
|
||||||
format->encoding = PA_ENCODING_DTS_IEC61937;
|
format->encoding = PA_ENCODING_DTS_IEC61937;
|
||||||
} else if (spec->type == GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG) {
|
} else if (spec->type == GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG) {
|
||||||
format->encoding = PA_ENCODING_MPEG_IEC61937;
|
format->encoding = PA_ENCODING_MPEG_IEC61937;
|
||||||
|
#if PA_CHECK_VERSION(3,99,0)
|
||||||
|
} else if (spec->type == GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG2_AAC) {
|
||||||
|
format->encoding = PA_ENCODING_MPEG2_AAC_IEC61937;
|
||||||
|
} else if (spec->type == GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG4_AAC) {
|
||||||
|
/* HACK. treat MPEG4 AAC as MPEG2 AAC for the moment */
|
||||||
|
format->encoding = PA_ENCODING_MPEG2_AAC_IEC61937;
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,6 +61,8 @@
|
||||||
"block-size = (int) { 512, 1024, 2048 }; "
|
"block-size = (int) { 512, 1024, 2048 }; "
|
||||||
#define _PULSE_CAPS_MP3 "audio/mpeg, mpegversion = (int) 1, " \
|
#define _PULSE_CAPS_MP3 "audio/mpeg, mpegversion = (int) 1, " \
|
||||||
"mpegaudioversion = (int) [ 1, 2 ], parsed = (boolean) true;"
|
"mpegaudioversion = (int) [ 1, 2 ], parsed = (boolean) true;"
|
||||||
|
#define _PULSE_CAPS_AAC "audio/mpeg, mpegversion = (int) { 2, 4 }, " \
|
||||||
|
"framed = (boolean) true, stream-format = (string) adts;"
|
||||||
|
|
||||||
#define _PULSE_CAPS_PCM \
|
#define _PULSE_CAPS_PCM \
|
||||||
_PULSE_CAPS_LINEAR \
|
_PULSE_CAPS_LINEAR \
|
||||||
|
|
Loading…
Reference in a new issue