diff options
Diffstat (limited to 'third_party/ffmpeg/include/libavformat/rtsp.h')
-rw-r--r-- | third_party/ffmpeg/include/libavformat/rtsp.h | 161 |
1 files changed, 0 insertions, 161 deletions
diff --git a/third_party/ffmpeg/include/libavformat/rtsp.h b/third_party/ffmpeg/include/libavformat/rtsp.h deleted file mode 100644 index ec3477b..0000000 --- a/third_party/ffmpeg/include/libavformat/rtsp.h +++ /dev/null @@ -1,161 +0,0 @@ -/* - * RTSP definitions - * Copyright (c) 2002 Fabrice Bellard. - * - * This file is part of FFmpeg. - * - * FFmpeg is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * FFmpeg is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with FFmpeg; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ -#ifndef FFMPEG_RTSP_H -#define FFMPEG_RTSP_H - -#include <stdint.h> -#include "avformat.h" -#include "rtspcodes.h" -#include "rtp.h" -#include "network.h" - -enum RTSPLowerTransport { - RTSP_LOWER_TRANSPORT_UDP = 0, - RTSP_LOWER_TRANSPORT_TCP = 1, - RTSP_LOWER_TRANSPORT_UDP_MULTICAST = 2, - /** - * This is not part of public API and shouldn't be used outside of ffmpeg. - */ - RTSP_LOWER_TRANSPORT_LAST -}; - -#define RTSP_DEFAULT_PORT 554 -#define RTSP_MAX_TRANSPORTS 8 -#define RTSP_TCP_MAX_PACKET_SIZE 1472 -#define RTSP_DEFAULT_NB_AUDIO_CHANNELS 2 -#define RTSP_DEFAULT_AUDIO_SAMPLERATE 44100 -#define RTSP_RTP_PORT_MIN 5000 -#define RTSP_RTP_PORT_MAX 10000 - -typedef struct RTSPTransportField { - int interleaved_min, interleaved_max; /**< interleave ids, if TCP transport */ - int port_min, port_max; /**< RTP ports */ - int client_port_min, client_port_max; /**< RTP ports */ - int server_port_min, server_port_max; /**< RTP ports */ - int ttl; /**< ttl value */ - uint32_t destination; /**< destination IP address */ - int transport; - enum RTSPLowerTransport lower_transport; -} RTSPTransportField; - -typedef struct RTSPHeader { - int content_length; - enum RTSPStatusCode status_code; /**< response code from server */ - int nb_transports; - /** in AV_TIME_BASE unit, AV_NOPTS_VALUE if not used */ - int64_t range_start, range_end; - RTSPTransportField transports[RTSP_MAX_TRANSPORTS]; - int seq; /**< sequence number */ - char session_id[512]; - char real_challenge[64]; /**< the RealChallenge1 field from the server */ - char server[64]; -} RTSPHeader; - -enum RTSPClientState { - RTSP_STATE_IDLE, - RTSP_STATE_PLAYING, - RTSP_STATE_PAUSED, -}; - -enum RTSPServerType { - RTSP_SERVER_RTP, /**< Standards-compliant RTP-server */ - RTSP_SERVER_REAL, /**< Realmedia-style server */ - RTSP_SERVER_WMS, /**< Windows Media server */ - RTSP_SERVER_LAST -}; - -enum RTSPTransport { - RTSP_TRANSPORT_RTP, - RTSP_TRANSPORT_RDT, - RTSP_TRANSPORT_LAST -}; - -typedef struct RTSPState { - URLContext *rtsp_hd; /* RTSP TCP connexion handle */ - int nb_rtsp_streams; - struct RTSPStream **rtsp_streams; - - enum RTSPClientState state; - int64_t seek_timestamp; - - /* XXX: currently we use unbuffered input */ - // ByteIOContext rtsp_gb; - int seq; /* RTSP command sequence number */ - char session_id[512]; - enum RTSPTransport transport; - enum RTSPLowerTransport lower_transport; - enum RTSPServerType server_type; - char last_reply[2048]; /* XXX: allocate ? */ - void *cur_tx; - int need_subscription; - enum AVDiscard real_setup_cache[MAX_STREAMS]; - char last_subscription[1024]; -} RTSPState; - -typedef struct RTSPStream { - URLContext *rtp_handle; /* RTP stream handle */ - void *tx_ctx; /* RTP/RDT parse context */ - - int stream_index; /* corresponding stream index, if any. -1 if none (MPEG2TS case) */ - int interleaved_min, interleaved_max; /* interleave ids, if TCP transport */ - char control_url[1024]; /* url for this stream (from SDP) */ - - int sdp_port; /* port (from SDP content - not used in RTSP) */ - struct in_addr sdp_ip; /* IP address (from SDP content - not used in RTSP) */ - int sdp_ttl; /* IP TTL (from SDP content - not used in RTSP) */ - int sdp_payload_type; /* payload type - only used in SDP */ - RTPPayloadData rtp_payload_data; /* rtp payload parsing infos from SDP */ - - RTPDynamicProtocolHandler *dynamic_handler; ///< Only valid if it's a dynamic protocol. (This is the handler structure) - PayloadContext *dynamic_protocol_context; ///< Only valid if it's a dynamic protocol. (This is any private data associated with the dynamic protocol) -} RTSPStream; - -/** the callback can be used to extend the connection setup/teardown step */ -enum RTSPCallbackAction { - RTSP_ACTION_SERVER_SETUP, - RTSP_ACTION_SERVER_TEARDOWN, - RTSP_ACTION_CLIENT_SETUP, - RTSP_ACTION_CLIENT_TEARDOWN, -}; - -typedef struct RTSPActionServerSetup { - uint32_t ipaddr; - char transport_option[512]; -} RTSPActionServerSetup; - -typedef int FFRTSPCallback(enum RTSPCallbackAction action, - const char *session_id, - char *buf, int buf_size, - void *arg); - -int rtsp_init(void); -void rtsp_parse_line(RTSPHeader *reply, const char *buf); - -#if LIBAVFORMAT_VERSION_INT < (53 << 16) -extern int rtsp_default_protocols; -#endif -extern int rtsp_rtp_port_min; -extern int rtsp_rtp_port_max; - -int rtsp_pause(AVFormatContext *s); -int rtsp_resume(AVFormatContext *s); - -#endif /* FFMPEG_RTSP_H */ |