static void onMsgErrorFromBus()

in source/src/AppRtspSrc.c [126:157]


static void onMsgErrorFromBus(GstBus* bus, GstMessage* msg, gpointer* udata)
{
    STATUS retStatus = STATUS_SUCCESS;
    GError* err;
    gchar* debug_info;
    PRtspSrcContext pRtspSrcContext = NULL;
    PCodecConfiguration pGstConfiguration;

    CHK((bus != NULL) && (msg != NULL) && (udata != NULL), STATUS_MEDIA_NULL_ARG);
    pRtspSrcContext = (PRtspSrcContext) udata;
    pGstConfiguration = &pRtspSrcContext->codecConfiguration;

    app_gst_message_parse_error(msg, &err, &debug_info);
    if (err != NULL) {
        DLOGE("error code: %d: %d", err->code, GST_RTSP_EINVAL);
        DLOGE("error received from element %s: %s\n", app_gst_object_get_name(msg->src), err->message);
    }
    if (debug_info != NULL) {
        DLOGE("debugging information: %s\n", debug_info);
    }
    closeGstRtspSrc(pRtspSrcContext);

CleanUp:
    app_g_error_free(err);
    app_g_free(debug_info);

    if (pRtspSrcContext != NULL) {
        updateCodecStatus(pRtspSrcContext, STATUS_MEDIA_BUS_ERROR);
    }

    return;
}