mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	core: Add extended stream API to support compressed formats
This is the beginning of work to support compressed formats natively in PulseAudio. This adds a pa_stream_new_extended() that takes a format structure, sends it to the server (=> protocol extension) and has the server negotiate with the appropropriate sink to figure out what format it should use. This is work in progress, and works only with PCM streams. Actual compressed format support in some sink needs to be implemented, and extensive testing is required. More details on how this is supposed to work is available at: http://pulseaudio.org/wiki/PassthroughSupport
This commit is contained in:
		
							parent
							
								
									47e0f91aa2
								
							
						
					
					
						commit
						0ac2cfce6d
					
				
					 25 changed files with 347 additions and 82 deletions
				
			
		| 
						 | 
				
			
			@ -26,6 +26,7 @@
 | 
			
		|||
#include <sys/types.h>
 | 
			
		||||
 | 
			
		||||
#include <pulse/sample.h>
 | 
			
		||||
#include <pulse/format.h>
 | 
			
		||||
#include <pulse/channelmap.h>
 | 
			
		||||
#include <pulse/volume.h>
 | 
			
		||||
#include <pulse/def.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -356,6 +357,16 @@ pa_stream* pa_stream_new_with_proplist(
 | 
			
		|||
        const pa_channel_map *map         /**< The desired channel map, or NULL for default */,
 | 
			
		||||
        pa_proplist *p                    /**< The initial property list */);
 | 
			
		||||
 | 
			
		||||
/* Create a new, unconnected stream with the specified name, the set of formats
 | 
			
		||||
 * this client can provide, and an initial list of properties. While
 | 
			
		||||
 * connecting, the server will select the most appropriate format which the
 | 
			
		||||
 * client must then provide. \since 1.0 */
 | 
			
		||||
pa_stream *pa_stream_new_extended(
 | 
			
		||||
        pa_context *c                     /**< The context to create this stream in */,
 | 
			
		||||
        const char *name                  /**< A name for this stream */,
 | 
			
		||||
        pa_format_info * const * formats  /**< The list of formats that can be provided */,
 | 
			
		||||
        pa_proplist *p                    /**< The initial property list */);
 | 
			
		||||
 | 
			
		||||
/** Decrease the reference counter by one */
 | 
			
		||||
void pa_stream_unref(pa_stream *s);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue