VOID gst_kvs_plugin_get_property()

in gst/gst-kvs-plugin/src/GstPlugin.c [658:791]


VOID gst_kvs_plugin_get_property(GObject* object, guint propId, GValue* value, GParamSpec* pspec)
{
    PGstKvsPlugin pGstKvsPlugin = GST_KVS_PLUGIN(object);

    if (pGstKvsPlugin == NULL) {
        return;
    }

    switch (propId) {
        case PROP_STREAM_NAME:
            g_value_set_string(value, pGstKvsPlugin->gstParams.streamName);
            break;
        case PROP_CHANNEL_NAME:
            g_value_set_string(value, pGstKvsPlugin->gstParams.channelName);
            break;
        case PROP_RETENTION_PERIOD:
            g_value_set_uint(value, pGstKvsPlugin->gstParams.retentionPeriodInHours);
            break;
        case PROP_STREAMING_TYPE:
            g_value_set_enum(value, pGstKvsPlugin->gstParams.streamingType);
            break;
        case PROP_WEBRTC_CONNECTION_MODE:
            g_value_set_enum(value, pGstKvsPlugin->gstParams.connectionMode);
            break;
        case PROP_CONTENT_TYPE:
            g_value_set_string(value, pGstKvsPlugin->gstParams.contentType);
            break;
        case PROP_MAX_LATENCY:
            g_value_set_uint(value, pGstKvsPlugin->gstParams.maxLatencyInSeconds);
            break;
        case PROP_FRAGMENT_DURATION:
            g_value_set_uint(value, pGstKvsPlugin->gstParams.fragmentDurationInMillis);
            break;
        case PROP_TIMECODE_SCALE:
            g_value_set_uint(value, pGstKvsPlugin->gstParams.timeCodeScaleInMillis);
            break;
        case PROP_KEY_FRAME_FRAGMENTATION:
            g_value_set_boolean(value, pGstKvsPlugin->gstParams.keyFrameFragmentation);
            break;
        case PROP_FRAME_TIMECODES:
            g_value_set_boolean(value, pGstKvsPlugin->gstParams.frameTimecodes);
            break;
        case PROP_ABSOLUTE_FRAGMENT_TIMES:
            g_value_set_boolean(value, pGstKvsPlugin->gstParams.absoluteFragmentTimecodes);
            break;
        case PROP_FRAGMENT_ACKS:
            g_value_set_boolean(value, pGstKvsPlugin->gstParams.fragmentAcks);
            break;
        case PROP_RESTART_ON_ERROR:
            g_value_set_boolean(value, pGstKvsPlugin->gstParams.restartOnErrors);
            break;
        case PROP_RECALCULATE_METRICS:
            g_value_set_boolean(value, pGstKvsPlugin->gstParams.recalculateMetrics);
            break;
        case PROP_ADAPT_CPD_NALS_TO_AVC:
            g_value_set_boolean(value, pGstKvsPlugin->gstParams.adaptCpdNals);
            break;
        case PROP_ADAPT_FRAME_NALS_TO_AVC:
            g_value_set_boolean(value, pGstKvsPlugin->gstParams.adaptFrameNals);
            break;
        case PROP_AVG_BANDWIDTH_BPS:
            g_value_set_uint(value, pGstKvsPlugin->gstParams.avgBandwidthBps);
            break;
        case PROP_BUFFER_DURATION:
            g_value_set_uint(value, pGstKvsPlugin->gstParams.bufferDurationInSeconds);
            break;
        case PROP_REPLAY_DURATION:
            g_value_set_uint(value, pGstKvsPlugin->gstParams.replayDurationInSeconds);
            break;
        case PROP_CONNECTION_STALENESS:
            g_value_set_uint(value, pGstKvsPlugin->gstParams.connectionStalenessInSeconds);
            break;
        case PROP_CODEC_ID:
            g_value_set_string(value, pGstKvsPlugin->gstParams.codecId);
            break;
        case PROP_ACCESS_KEY:
            g_value_set_string(value, pGstKvsPlugin->gstParams.accessKey);
            break;
        case PROP_SECRET_KEY:
            g_value_set_string(value, pGstKvsPlugin->gstParams.secretKey);
            break;
        case PROP_AWS_REGION:
            g_value_set_string(value, pGstKvsPlugin->gstParams.awsRegion);
            break;
        case PROP_ROTATION_PERIOD:
            g_value_set_uint(value, pGstKvsPlugin->gstParams.rotationPeriodInSeconds);
            break;
        case PROP_LOG_LEVEL:
            g_value_set_uint(value, pGstKvsPlugin->gstParams.logLevel);
            break;
        case PROP_FILE_LOG_PATH:
            g_value_set_string(value, pGstKvsPlugin->gstParams.fileLogPath);
            break;
        case PROP_FRAMERATE:
            g_value_set_uint(value, pGstKvsPlugin->gstParams.frameRate);
            break;
        case PROP_STORAGE_SIZE:
            g_value_set_uint(value, pGstKvsPlugin->gstParams.storageSizeInBytes);
            break;
        case PROP_CREDENTIAL_FILE_PATH:
            g_value_set_string(value, pGstKvsPlugin->gstParams.credentialFilePath);
            break;
        case PROP_IOT_CERTIFICATE:
            gst_value_set_structure(value, pGstKvsPlugin->gstParams.iotCertificate);
            break;
        case PROP_STREAM_TAGS:
            gst_value_set_structure(value, pGstKvsPlugin->gstParams.streamTags);
            break;
        case PROP_FILE_START_TIME:
            g_value_set_uint64(value, pGstKvsPlugin->gstParams.fileStartTime);
            break;
        case PROP_DISABLE_BUFFER_CLIPPING:
            g_value_set_boolean(value, pGstKvsPlugin->gstParams.disableBufferClipping);
            break;
        case PROP_TRICKLE_ICE:
            g_value_set_boolean(value, pGstKvsPlugin->gstParams.trickleIce);
            break;
        case PROP_STREAM_CREATE_TIMEOUT:
            g_value_set_uint(value, pGstKvsPlugin->gstParams.streamCreateTimeoutInSeconds);
            break;
        case PROP_STREAM_STOP_TIMEOUT:
            g_value_set_uint(value, pGstKvsPlugin->gstParams.streamStopTimeoutInSeconds);
            break;
        case PROP_ENABLE_STREAMING:
            g_value_set_boolean(value, pGstKvsPlugin->gstParams.enableStreaming);
            break;
        case PROP_WEBRTC_CONNECT:
            g_value_set_boolean(value, pGstKvsPlugin->gstParams.webRtcConnect);
            break;
        default:
            G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, pspec);
            break;
    }
}