mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-03 11:25:35 +00:00
Streams: Add features for Advanced Codec Negotiation
The Streams API becomes the home for the core ACN capabilities. These include... * Parsing and formatting of codec negotation preferences. * Resolving pending streams and topologies with those configured using configured preferences. * Utility functions for creating string representations of streams, topologies, and negotiation preferences. For codec negotiation preferences: * Added ast_stream_codec_prefs_parse() which takes a string representation of codec negotiation preferences, which may come from a pjsip endpoint for example, and populates a ast_stream_codec_negotiation_prefs structure. * Added ast_stream_codec_prefs_to_str() which does the reverse. * Added many functions to parse individual parameter name and value strings to their respectrive enum values, and the reverse. For streams: * Added ast_stream_create_resolved() which takes a "live" stream and resolves it with a configured stream and the negotiation preferences to create a new stream. * Added ast_stream_to_str() which create a string representation of a stream suitable for debug or display purposes. For topology: * Added ast_stream_topology_create_resolved() which takes a "live" topology and resolves it, stream by stream, with a configured topology stream and the negotiation preferences to create a new topology. * Added ast_stream_topology_to_str() which create a string representation of a topology suitable for debug or display purposes. * Renamed ast_format_caps_from_topology() to ast_stream_topology_get_formats() to be more consistent with the existing ast_stream_get_formats(). Additional changes: * A new function ast_format_cap_append_names() appends the results to the ast_str buffer instead of replacing buffer contents. Change-Id: I2df77dedd0c72c52deb6e329effe057a8e06cd56
This commit is contained in:
committed by
Friendly Automation
parent
7440fd0397
commit
8d1064eaaf
@@ -6227,7 +6227,7 @@ static struct ast_channel *request_channel(const char *type, struct ast_format_c
|
||||
|
||||
if (!request_cap && topology) {
|
||||
/* Turn the request stream topology into capabilities */
|
||||
request_cap = tmp_converted_cap = ast_format_cap_from_stream_topology(topology);
|
||||
request_cap = tmp_converted_cap = ast_stream_topology_get_formats(topology);
|
||||
}
|
||||
|
||||
/* find the best audio format to use */
|
||||
|
Reference in New Issue
Block a user