diff options
author | Wim Taymans <wim.taymans@gmail.com> | 2008-10-28 17:42:02 +0000 |
---|---|---|
committer | Wim Taymans <wim.taymans@gmail.com> | 2008-10-28 17:42:02 +0000 |
commit | b29385bd76388904ba203360e1533c903a369ab4 (patch) | |
tree | 44610ba8e38561f7dad5350d9a95dd60fc517414 /gst/rtp/gstrtpchannels.c | |
parent | 23f37b0179ba14c4cac67b690b4c2e5e736c757e (diff) |
gst/rtp/gstrtpchannels.*: Add method to get possible channel positions.
Original commit message from CVS:
* gst/rtp/gstrtpchannels.c: (gst_rtp_channels_get_by_index):
* gst/rtp/gstrtpchannels.h:
Add method to get possible channel positions.
Diffstat (limited to 'gst/rtp/gstrtpchannels.c')
-rw-r--r-- | gst/rtp/gstrtpchannels.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gst/rtp/gstrtpchannels.c b/gst/rtp/gstrtpchannels.c index 05100f0f..2ce42803 100644 --- a/gst/rtp/gstrtpchannels.c +++ b/gst/rtp/gstrtpchannels.c @@ -111,6 +111,37 @@ gst_rtp_channels_get_by_order (gint channels, const gchar * order) } /** + * gst_rtp_channels_get_by_index: + * @channels: the amount of channels + * @idx: the channel index to retrieve + * + * Get the allowed channel order descriptions for @channels. @idx can be used to + * retrieve the desired index. + * + * Returns: a #GstRTPChannelOrder at @idx, NULL when there are no valid channel + * orders. + */ +const GstRTPChannelOrder * +gst_rtp_channels_get_by_index (gint channels, guint idx) +{ + gint i; + const GstRTPChannelOrder *res = NULL; + + for (i = 0; channel_orders[i].pos; i++) { + if (channel_orders[i].channels != channels) + continue; + + if (idx == 0) { + res = &channel_orders[i]; + break; + } + idx--; + } + return res; +} + + +/** * gst_rtp_channels_create_default: * @channels: the amount of channels * |