| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- /* live_streaming.proto/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro). */
- /* This copyright was auto-generated on Mon Nov 4 18:00:55 UTC 2024 */
- /***********************************************************************************************************************
- *
- * This file is automatically generated!!! Do not modify manually.
- *
- **********************************************************************************************************************/
- /**
- * Defines the structure of protobuf messages for working with Live Streams
- */
- syntax = "proto2";
- package open_gopro;
- enum EnumLens {
- LENS_WIDE = 0;
- LENS_LINEAR = 4;
- LENS_SUPERVIEW = 3;
- }
- enum EnumLiveStreamError {
- LIVE_STREAM_ERROR_NONE = 0; // No error (success)
- LIVE_STREAM_ERROR_NETWORK = 1; // General network error during the stream
- LIVE_STREAM_ERROR_CREATESTREAM = 2; // Startup error: bad URL or valid with live stream server
- LIVE_STREAM_ERROR_OUTOFMEMORY = 3; // Not enough memory on camera to complete task
- LIVE_STREAM_ERROR_INPUTSTREAM = 4; // Failed to get stream from low level camera system
- LIVE_STREAM_ERROR_INTERNET = 5; // No internet access detected on startup of streamer
- LIVE_STREAM_ERROR_OSNETWORK = 6; // Error occured in linux networking stack. Usually means the server closed the connection
- LIVE_STREAM_ERROR_SELECTEDNETWORKTIMEOUT = 7; // Timed out attemping to connect to the wifi network when attemping live stream
- LIVE_STREAM_ERROR_SSL_HANDSHAKE = 8; // SSL handshake failed (commonly caused due to incorrect time / time zone)
- LIVE_STREAM_ERROR_CAMERA_BLOCKED = 9; // Low level camera system rejected attempt to start live stream
- LIVE_STREAM_ERROR_UNKNOWN = 10; // Unknown
- LIVE_STREAM_ERROR_SD_CARD_FULL = 40; // Can not perform livestream because sd card is full
- LIVE_STREAM_ERROR_SD_CARD_REMOVED = 41; // Livestream stopped because sd card was removed
- }
- enum EnumLiveStreamStatus {
- LIVE_STREAM_STATE_IDLE = 0; // Initial status. Livestream has not yet been configured
- LIVE_STREAM_STATE_CONFIG = 1; // Livestream is being configured
- LIVE_STREAM_STATE_READY = 2; // Livestream has finished configuration and is ready to start streaming
- LIVE_STREAM_STATE_STREAMING = 3; // Livestream is actively streaming
- LIVE_STREAM_STATE_COMPLETE_STAY_ON = 4; // Live stream is exiting. No errors occured.
- LIVE_STREAM_STATE_FAILED_STAY_ON = 5; // Live stream is exiting. An error occurred.
- LIVE_STREAM_STATE_RECONNECTING = 6; // An error occurred during livestream and stream is attempting to reconnect.
- LIVE_STREAM_STATE_UNAVAILABLE = 7; // Live stream setup is unavailable due to camera lens configuration
- }
- enum EnumRegisterLiveStreamStatus {
- REGISTER_LIVE_STREAM_STATUS_STATUS = 1;
- REGISTER_LIVE_STREAM_STATUS_ERROR = 2;
- REGISTER_LIVE_STREAM_STATUS_MODE = 3;
- REGISTER_LIVE_STREAM_STATUS_BITRATE = 4;
- }
- enum EnumWindowSize {
- WINDOW_SIZE_480 = 4;
- WINDOW_SIZE_720 = 7;
- WINDOW_SIZE_1080 = 12;
- }
- /**
- * Live Stream status
- *
- * Sent either:
- *
- * - As a synchronous response to initial @ref RequestGetLiveStreamStatus
- * - As an asynchronous notifications registered for via @ref RequestGetLiveStreamStatus
- */
- message NotifyLiveStreamStatus {
- optional EnumLiveStreamStatus live_stream_status = 1; // Live stream status
- optional EnumLiveStreamError live_stream_error = 2; // Live stream error
- optional bool live_stream_encode = 3; // Is live stream encoding?
- optional int32 live_stream_bitrate = 4; // Live stream bitrate (Kbps)
- repeated EnumWindowSize live_stream_window_size_supported_array = 5; // Set of currently supported resolutions
- optional bool live_stream_encode_supported = 6; // Does the camera support encoding while live streaming?
- optional bool live_stream_max_lens_unsupported = 7; // Is the Max Lens feature NOT supported?
- optional int32 live_stream_minimum_stream_bitrate = 8; // Camera-defined minimum bitrate (static) (Kbps)
- optional int32 live_stream_maximum_stream_bitrate = 9; // Camera-defined maximum bitrate (static) (Kbps)
- optional bool live_stream_lens_supported = 10; // Does camera support setting lens for live streaming?
- repeated EnumLens live_stream_lens_supported_array = 11; // Set of currently supported FOV options
- optional bool live_stream_protune_supported = 13; // Does the camera support live stream protune settings
- }
- /**
- * Get the current livestream status (and optionally register for future status changes)
- *
- * Response: @ref NotifyLiveStreamStatus
- *
- * Notification: @ref NotifyLiveStreamStatus
- */
- message RequestGetLiveStreamStatus {
- repeated EnumRegisterLiveStreamStatus register_live_stream_status = 1; // Array of live stream statuses to be notified about
- repeated EnumRegisterLiveStreamStatus unregister_live_stream_status = 2; // Array of live stream statuses to stop being notified about
- }
- /**
- * Configure Live Streaming
- *
- * Response: @ref ResponseGeneric
- */
- message RequestSetLiveStreamMode {
- optional string url = 1; // RTMP(S) URL used for live stream
- optional bool encode = 2; // Save media to sdcard while streaming?
- /**
- * Resolution to use for live stream
- *
- * The set of supported resolutions is only available from the `live_stream_window_size_supported_array`
- * in @ref NotifyLiveStreamStatus.
- */
- optional EnumWindowSize window_size = 3;
- optional bytes cert = 6; // Certificate for servers that require it in PEM format
- optional int32 minimum_bitrate = 7; // Minimum desired bitrate (may or may not be honored)
- optional int32 maximum_bitrate = 8; // Maximum desired bitrate (may or may not be honored)
- optional int32 starting_bitrate = 9; // Starting bitrate
- /**
- * Lens to use for live stream
- *
- * The set of supported lenses is only available from the `live_stream_lens_supported_array`
- * in @ref NotifyLiveStreamStatus.
- */
- optional EnumLens lens = 10;
- }
|