return ini_source->v_encoded_fmt_support;
}
+static int __get_fixed_payload_id(const gchar *media_type)
+{
+ RET_VAL_IF(media_type == NULL, -1, "media_type is NULL");
+
+ if (!g_strcmp0(media_type, MEDIA_TYPE_AUDIO_MULAW))
+ return 0;
+ if (!g_strcmp0(media_type, MEDIA_TYPE_AUDIO_ALAW))
+ return 8;
+
+ LOG_DEBUG("%s might need to use dynamic id", media_type);
+ return -1;
+}
+
static unsigned int __get_available_payload_id(webrtc_s *webrtc)
{
int bitmask = 0x1;
const gchar *encoder_klass_name;
gchar *media_type = NULL;
gchar *encoder_name = NULL;
- unsigned int payload_id;
+ int payload_id;
int idx;
RET_VAL_IF(webrtc == NULL, WEBRTC_ERROR_INVALID_PARAMETER, "webrtc is NULL");
goto error;
APPEND_ELEMENT(*element_list, capsfilter2);
- if ((payload_id = __get_available_payload_id(webrtc)) == 0)
- goto error;
+ if ((payload_id = __get_fixed_payload_id(media_type)) == -1)
+ if ((payload_id = __get_available_payload_id(webrtc)) == 0)
+ goto error;
source->av[idx].payload_id = payload_id;