webrtc_stats_prop_e prop;
int i, j;
- RET_VAL_IF(user_data == NULL, FALSE, "user_data is NULL");
+ ASSERT(user_data);
RET_VAL_IF(stats->p_userdata == NULL, FALSE, "p_userdata is NULL");
RET_VAL_IF(stats->p_userdata->webrtc == NULL, FALSE, "webrtc is NULL");
stats_userdata_s stats_userdata = { .p_userdata = user_data, .type = type, .fields_list = fields_list, .export = true };
gboolean ret;
- RET_VAL_IF(user_data == NULL, FALSE, "user_data is NULL");
+ ASSERT(user_data);
LOG_DEBUG_ENTER();
g_autoptr(GstStructure) rtpsource_stats = NULL;
gboolean ret;
- RET_VAL_IF(user_data == NULL, FALSE, "user_data is NULL");
+ ASSERT(user_data);
LOG_DEBUG_ENTER();
g_autoptr(GstStructure) rtpsource_stats = NULL;
gboolean ret;
- RET_VAL_IF(user_data == NULL, FALSE, "user_data is NULL");
+ ASSERT(user_data);
LOG_DEBUG_ENTER();
stats_userdata_s stats_userdata = { .p_userdata = user_data, .type = type, .fields_list = fields_list, .export = true };
gboolean ret;
- RET_VAL_IF(user_data == NULL, FALSE, "user_data is NULL");
+ ASSERT(user_data);
LOG_DEBUG_ENTER();
static gboolean __stats_remote_outbound_rtp_invoke_callback(const GstStructure *s, webrtc_stats_type_e type, stats_field_s **fields_list, promise_userdata_s *user_data)
{
stats_userdata_s stats_userdata = { .p_userdata = user_data, .type = type, .fields_list = fields_list, .export = true };
- RET_VAL_IF(user_data == NULL, FALSE, "user_data is NULL");
gboolean ret;
+ ASSERT(user_data);
+
LOG_DEBUG_ENTER();
if (user_data->dump)
static gboolean __stats_csrc_invoke_callback(const GstStructure *s, webrtc_stats_type_e type, stats_field_s **fields_list, promise_userdata_s *user_data)
{
stats_userdata_s stats_userdata = { .p_userdata = user_data, .type = type, .fields_list = fields_list };
- RET_VAL_IF(user_data == NULL, FALSE, "user_data is NULL");
+
+ ASSERT(user_data);
LOG_DEBUG_ENTER();
static gboolean __stats_peer_connection_invoke_callback(const GstStructure *s, webrtc_stats_type_e type, stats_field_s **fields_list, promise_userdata_s *user_data)
{
stats_userdata_s stats_userdata = { .p_userdata = user_data, .type = type, .fields_list = fields_list };
- RET_VAL_IF(user_data == NULL, FALSE, "user_data is NULL");
+
+ ASSERT(user_data);
LOG_DEBUG_ENTER();
static gboolean __stats_data_channel_invoke_callback(const GstStructure *s, webrtc_stats_type_e type, stats_field_s **fields_list, promise_userdata_s *user_data)
{
stats_userdata_s stats_userdata = { .p_userdata = user_data, .type = type, .fields_list = fields_list };
- RET_VAL_IF(user_data == NULL, FALSE, "user_data is NULL");
+
+ ASSERT(user_data);
LOG_DEBUG_ENTER();
static gboolean __stats_stream_invoke_callback(const GstStructure *s, webrtc_stats_type_e type, stats_field_s **fields_list, promise_userdata_s *user_data)
{
stats_userdata_s stats_userdata = { .p_userdata = user_data, .type = type, .fields_list = fields_list };
- RET_VAL_IF(user_data == NULL, FALSE, "user_data is NULL");
+
+ ASSERT(user_data);
LOG_DEBUG_ENTER();
static gboolean __stats_transport_invoke_callback(const GstStructure *s, webrtc_stats_type_e type, stats_field_s **fields_list, promise_userdata_s *user_data)
{
stats_userdata_s stats_userdata = { .p_userdata = user_data, .type = type, .fields_list = fields_list };
- RET_VAL_IF(user_data == NULL, FALSE, "user_data is NULL");
+
+ ASSERT(user_data);
LOG_DEBUG_ENTER();
stats_userdata_s stats_userdata = { .p_userdata = user_data, .type = type, .fields_list = fields_list, .export = true };
gboolean ret;
- RET_VAL_IF(user_data == NULL, FALSE, "user_data is NULL");
+ ASSERT(user_data);
LOG_DEBUG_ENTER();
stats_userdata_s stats_userdata = { .p_userdata = user_data, .type = type, .fields_list = fields_list, .export = true };
gboolean ret;
- RET_VAL_IF(user_data == NULL, FALSE, "user_data is NULL");
+ ASSERT(user_data);
LOG_DEBUG_ENTER();
stats_userdata_s stats_userdata = { .p_userdata = user_data, .type = type, .fields_list = fields_list, .export = true };
gboolean ret;
- RET_VAL_IF(user_data == NULL, FALSE, "user_data is NULL");
+ ASSERT(user_data);
LOG_DEBUG_ENTER();
static gboolean __stats_certificate_invoke_callback(const GstStructure *s, webrtc_stats_type_e type, stats_field_s **fields_list, promise_userdata_s *user_data)
{
stats_userdata_s stats_userdata = { .p_userdata = user_data, .type = type, .fields_list = fields_list };
- RET_VAL_IF(user_data == NULL, FALSE, "user_data is NULL");
+
+ ASSERT(user_data);
LOG_DEBUG_ENTER();
const GstStructure *s;
GstWebRTCStatsType type;
- RET_VAL_IF(userdata == NULL, TRUE, "userdata is NULL");
+ ASSERT(userdata);
if (GST_VALUE_HOLDS_STRUCTURE(value)) {
s = gst_value_get_structure(value);
const GstStructure *stats;
promise_userdata_s *data = (promise_userdata_s *)user_data;
+ ASSERT(user_data);
+
RET_IF(gst_promise_wait(promise) != GST_PROMISE_RESULT_REPLIED, "failed to gst_promise_wait()");
- RET_IF(user_data == NULL, "user_data is NULL");
stats = gst_promise_get_reply(promise);
RET_IF(stats == NULL, "failed to gst_promise_get_reply()");
JsonGenerator *generator;
g_autoptr(GError) error = NULL;
- RET_IF(object == NULL, "object is NULL");
- RET_IF(path == NULL, "path is NULL");
+ ASSERT(object);
+ ASSERT(path);
root = json_node_init_object(json_node_alloc(), object);
generator = json_generator_new();
GstPromise *promise;
promise_userdata_s *userdata;
gint64 end_time = g_get_monotonic_time() + FOREACH_STATS_TIMEOUT_SEC * G_TIME_SPAN_SECOND;
- bool dump_stats = false;
- JsonObject *dump;
+ JsonObject *dump = NULL;
RET_IF(webrtc == NULL, "webrtc is NULL");
RET_IF(webrtc->gst.webrtcbin == NULL, "webrtcbin is NULL");
userdata->stats_cb.user_data = user_data;
} else {
/* this should be triggered by ini setting as of now, "stats log period" */
- dump_stats = true;
dump = json_object_new();
userdata->dump = dump;
}
LOG_ERROR("failed to get stats within %d sec. of timeout", FOREACH_STATS_TIMEOUT_SEC);
g_mutex_unlock(&webrtc->stats_mutex);
- if (dump_stats) {
+ if (dump) {
g_autofree gchar *path = g_strdup_printf("/tmp/webrtc-stats-%d-%p.dump", getpid(), webrtc);
__dump_json_object_to_file(dump, path);
if (!g_list_find_custom(g_stats_dump_files, path, __str_equal))