int ret = WEBRTC_ERROR_NONE;
webrtc_gst_slot_s *source;
GstElement *appsrc;
+ media_format_h format;
GstBuffer *buffer = NULL;
guint64 pts = 0;
guint64 dts = 0;
return WEBRTC_ERROR_NONE;
}
+ ret = media_packet_get_format(packet, &format);
+ RET_VAL_IF(ret != MEDIA_PACKET_ERROR_NONE, WEBRTC_ERROR_INVALID_OPERATION, "failed to media_packet_get_format()");
+ if (!__is_valid_format(source->media_types, source->media_format, format)) {
+ media_format_unref(format);
+ return WEBRTC_ERROR_INVALID_OPERATION;
+ }
+ media_format_unref(format);
+
/* the incoming media packet should have zerocopy format (e.g., SN12) */
if (source->zerocopy_enabled) {
if (!source->allocator)
ret = media_packet_get_extra(packet, (void **)&buffer);
RET_VAL_IF(ret != MEDIA_PACKET_ERROR_NONE, WEBRTC_ERROR_INVALID_OPERATION, "failed to media_packet_get_extra()");
if (GST_IS_BUFFER(buffer)) {
- media_format_h format;
-
- ret = media_packet_get_format(packet, &format);
- RET_VAL_IF(ret != MEDIA_PACKET_ERROR_NONE, WEBRTC_ERROR_INVALID_OPERATION, "failed to media_packet_get_format()");
- if (!__is_valid_format(source->media_types, source->media_format, format)) {
- media_format_unref(format);
- return WEBRTC_ERROR_INVALID_OPERATION;
- }
- media_format_unref(format);
-
LOG_DEBUG("external gst buffer[%p]", buffer);
g_signal_emit_by_name(G_OBJECT(appsrc), "push-buffer", buffer, &gst_ret, NULL);
if (gst_ret != GST_FLOW_OK) {