webrtc_gst_slot_s *source = data;
GstFlowReturn gst_ret = GST_FLOW_OK;
- g_signal_emit_by_name(gst_bin_get_by_name(source->bin, ELEMENT_NAME_AUDIO_APPSRC), "push-buffer", buffer, &gst_ret, NULL);
+ g_signal_emit_by_name(gst_bin_get_by_name(source->bin, _av_tbl[AV_IDX_AUDIO].appsrc_name), "push-buffer", buffer, &gst_ret, NULL);
if (gst_ret != GST_FLOW_OK)
LOG_ERROR("failed to 'push-buffer', gst_ret[0x%x]", gst_ret);
}
webrtc_gst_slot_s *source = data;
GstFlowReturn gst_ret = GST_FLOW_OK;
- g_signal_emit_by_name(gst_bin_get_by_name(source->bin, ELEMENT_NAME_VIDEO_APPSRC), "push-buffer", buffer, &gst_ret, NULL);
+ g_signal_emit_by_name(gst_bin_get_by_name(source->bin, _av_tbl[AV_IDX_VIDEO].appsrc_name), "push-buffer", buffer, &gst_ret, NULL);
if (gst_ret != GST_FLOW_OK)
LOG_ERROR("failed to 'push-buffer', gst_ret[0x%x]", gst_ret);
}
if (source->type == WEBRTC_MEDIA_SOURCE_TYPE_FILE) {
int count = 0;
- if ((netsim = gst_bin_get_by_name(bin, ELEMENT_NAME_AUDIO_NETWORK_SIMULATOR))) {
- g_object_set(G_OBJECT(netsim), "drop-probability", probability, NULL);
- LOG_INFO("webrtc[%p] source_id[%u] probability[%f] applies to [%s]", webrtc, source_id, probability, GST_ELEMENT_NAME(netsim));
- count++;
- }
- if ((netsim = gst_bin_get_by_name(bin, ELEMENT_NAME_VIDEO_NETWORK_SIMULATOR))) {
- g_object_set(G_OBJECT(netsim), "drop-probability", probability, NULL);
- LOG_INFO("webrtc[%p] source_id[%u] probability[%f] applies to [%s]", webrtc, source_id, probability, GST_ELEMENT_NAME(netsim));
- count++;
+ int av_idx = 0;
+ for (av_idx = 0; av_idx < AV_IDX_MAX; av_idx++) {
+ if ((netsim = gst_bin_get_by_name(bin, _av_tbl[av_idx].network_simulator_name))) {
+ g_object_set(G_OBJECT(netsim), "drop-probability", probability, NULL);
+ LOG_INFO("webrtc[%p] source_id[%u] probability[%f] applies to [%s]", webrtc, source_id, probability, GST_ELEMENT_NAME(netsim));
+ count++;
+ }
}
RET_VAL_IF(count == 0, WEBRTC_ERROR_INVALID_OPERATION, "could not find any element for network simulator");
return WEBRTC_ERROR_NONE;
RET_VAL_IF(bin == NULL, WEBRTC_ERROR_INVALID_OPERATION, "bin is NULL");
if (source->type == WEBRTC_MEDIA_SOURCE_TYPE_FILE) {
- if (!(netsim = gst_bin_get_by_name(bin, ELEMENT_NAME_AUDIO_NETWORK_SIMULATOR)) &&
- !(netsim = gst_bin_get_by_name(bin, ELEMENT_NAME_VIDEO_NETWORK_SIMULATOR))) {
- LOG_ERROR("could not find any element for network simulator");
- return WEBRTC_ERROR_INVALID_OPERATION;
+ int av_idx = 0;
+ for (av_idx = 0; av_idx < AV_IDX_MAX; av_idx++) {
+ if ((netsim = gst_bin_get_by_name(bin, _av_tbl[av_idx].network_simulator_name)))
+ break;
}
+
} else {
- if (!(netsim = __find_element_in_bin(bin, DEFAULT_ELEMENT_NETWORK_SIMULATOR))) {
- LOG_ERROR("could not find any element for network simulator");
- return WEBRTC_ERROR_INVALID_OPERATION;
- }
+ netsim = __find_element_in_bin(bin, DEFAULT_ELEMENT_NETWORK_SIMULATOR);
}
+ RET_VAL_IF(!netsim, WEBRTC_ERROR_INVALID_OPERATION, "could not find any element for network simulator");
g_object_get(G_OBJECT(netsim), "drop-probability", (gfloat *)probability, NULL);
LOG_INFO("webrtc[%p] source_id[%u] probability[%f]", webrtc, source_id, *probability);