summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/map-file1
-rw-r--r--src/pulse/stream.c10
-rw-r--r--src/pulse/stream.h3
3 files changed, 14 insertions, 0 deletions
diff --git a/src/map-file b/src/map-file
index 5283a5e36..1acc6e987 100644
--- a/src/map-file
+++ b/src/map-file
@@ -258,6 +258,7 @@ pa_stream_get_channel_map;
pa_stream_get_context;
pa_stream_get_device_index;
pa_stream_get_device_name;
+pa_stream_get_format_info;
pa_stream_get_index;
pa_stream_get_latency;
pa_stream_get_monitor_stream;
diff --git a/src/pulse/stream.c b/src/pulse/stream.c
index 10e431cd7..bd2e6ca1e 100644
--- a/src/pulse/stream.c
+++ b/src/pulse/stream.c
@@ -2470,6 +2470,16 @@ const pa_channel_map* pa_stream_get_channel_map(pa_stream *s) {
return &s->channel_map;
}
+const pa_format_info* pa_stream_get_format_info(pa_stream *s) {
+ pa_assert(s);
+ pa_assert(PA_REFCNT_VALUE(s) >= 1);
+
+ /* We don't have the format till routing is done */
+ PA_CHECK_VALIDITY_RETURN_NULL(s->context, s->state == PA_STREAM_READY, PA_ERR_BADSTATE);
+ PA_CHECK_VALIDITY_RETURN_NULL(s->context, !pa_detect_fork(), PA_ERR_FORKED);
+
+ return s->format;
+}
const pa_buffer_attr* pa_stream_get_buffer_attr(pa_stream *s) {
pa_assert(s);
pa_assert(PA_REFCNT_VALUE(s) >= 1);
diff --git a/src/pulse/stream.h b/src/pulse/stream.h
index 48bf09df6..b265fae6f 100644
--- a/src/pulse/stream.h
+++ b/src/pulse/stream.h
@@ -709,6 +709,9 @@ const pa_sample_spec* pa_stream_get_sample_spec(pa_stream *s);
/** Return a pointer to the stream's channel map. */
const pa_channel_map* pa_stream_get_channel_map(pa_stream *s);
+/** Return a pointer to the stream's format \since 1.0 */
+const pa_format_info* pa_stream_get_format_info(pa_stream *s);
+
/** Return the per-stream server-side buffer metrics of the
* stream. Only valid after the stream has been connected successfuly
* and if the server is at least PulseAudio 0.9. This will return the