Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(373)

Side by Side Diff: source/patched-ffmpeg-mt/libavformat/rtsp.h

Issue 3384002: ffmpeg source update for sep 09 (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/ffmpeg/
Patch Set: Created 10 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * RTSP definitions 2 * RTSP definitions
3 * Copyright (c) 2002 Fabrice Bellard 3 * Copyright (c) 2002 Fabrice Bellard
4 * 4 *
5 * This file is part of FFmpeg. 5 * This file is part of FFmpeg.
6 * 6 *
7 * FFmpeg is free software; you can redistribute it and/or 7 * FFmpeg is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public 8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version. 10 * version 2.1 of the License, or (at your option) any later version.
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 int client_port_min, client_port_max; 89 int client_port_min, client_port_max;
90 90
91 /** UDP unicast server port range; the ports to which we should connect 91 /** UDP unicast server port range; the ports to which we should connect
92 * to receive unicast UDP RTP/RTCP data. */ 92 * to receive unicast UDP RTP/RTCP data. */
93 int server_port_min, server_port_max; 93 int server_port_min, server_port_max;
94 94
95 /** time-to-live value (required for multicast); the amount of HOPs that 95 /** time-to-live value (required for multicast); the amount of HOPs that
96 * packets will be allowed to make before being discarded. */ 96 * packets will be allowed to make before being discarded. */
97 int ttl; 97 int ttl;
98 98
99 uint32_t destination; /**< destination IP address */ 99 struct sockaddr_storage destination; /**< destination IP address */
100 char source[INET6_ADDRSTRLEN + 1]; /**< source IP address */
100 101
101 /** data/packet transport protocol; e.g. RTP or RDT */ 102 /** data/packet transport protocol; e.g. RTP or RDT */
102 enum RTSPTransport transport; 103 enum RTSPTransport transport;
103 104
104 /** network layer transport protocol; e.g. TCP or UDP uni-/multicast */ 105 /** network layer transport protocol; e.g. TCP or UDP uni-/multicast */
105 enum RTSPLowerTransport lower_transport; 106 enum RTSPLowerTransport lower_transport;
106 } RTSPTransportField; 107 } RTSPTransportField;
107 108
108 /** 109 /**
109 * This describes the server response to each RTSP command. 110 * This describes the server response to each RTSP command.
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 * packet from */ 261 * packet from */
261 void *cur_transport_priv; 262 void *cur_transport_priv;
262 263
263 /** The following are used for Real stream selection */ 264 /** The following are used for Real stream selection */
264 //@{ 265 //@{
265 /** whether we need to send a "SET_PARAMETER Subscribe:" command */ 266 /** whether we need to send a "SET_PARAMETER Subscribe:" command */
266 int need_subscription; 267 int need_subscription;
267 268
268 /** stream setup during the last frame read. This is used to detect if 269 /** stream setup during the last frame read. This is used to detect if
269 * we need to subscribe or unsubscribe to any new streams. */ 270 * we need to subscribe or unsubscribe to any new streams. */
270 enum AVDiscard real_setup_cache[MAX_STREAMS]; 271 enum AVDiscard *real_setup_cache;
272
273 /** current stream setup. This is a temporary buffer used to compare
274 * current setup to previous frame setup. */
275 enum AVDiscard *real_setup;
271 276
272 /** the last value of the "SET_PARAMETER Subscribe:" RTSP command. 277 /** the last value of the "SET_PARAMETER Subscribe:" RTSP command.
273 * this is used to send the same "Unsubscribe:" if stream setup changed, 278 * this is used to send the same "Unsubscribe:" if stream setup changed,
274 * before sending a new "Subscribe:" command. */ 279 * before sending a new "Subscribe:" command. */
275 char last_subscription[1024]; 280 char last_subscription[1024];
276 //@} 281 //@}
277 282
278 /** The following are used for RTP/ASF streams */ 283 /** The following are used for RTP/ASF streams */
279 //@{ 284 //@{
280 /** ASF demuxer context for the embedded ASF stream from WMS servers */ 285 /** ASF demuxer context for the embedded ASF stream from WMS servers */
(...skipping 11 matching lines...) Expand all
292 297
293 /** The synchronized start time of the output streams. */ 298 /** The synchronized start time of the output streams. */
294 int64_t start_time; 299 int64_t start_time;
295 300
296 /** Additional output handle, used when input and output are done 301 /** Additional output handle, used when input and output are done
297 * separately, eg for HTTP tunneling. */ 302 * separately, eg for HTTP tunneling. */
298 URLContext *rtsp_hd_out; 303 URLContext *rtsp_hd_out;
299 304
300 /** RTSP transport mode, such as plain or tunneled. */ 305 /** RTSP transport mode, such as plain or tunneled. */
301 enum RTSPControlTransport control_transport; 306 enum RTSPControlTransport control_transport;
307
308 /* Number of RTCP BYE packets the RTSP session has received.
309 * An EOF is propagated back if nb_byes == nb_streams.
310 * This is reset after a seek. */
311 int nb_byes;
302 } RTSPState; 312 } RTSPState;
303 313
304 /** 314 /**
305 * Describes a single stream, as identified by a single m= line block in the 315 * Describes a single stream, as identified by a single m= line block in the
306 * SDP content. In the case of RDT, one RTSPStream can represent multiple 316 * SDP content. In the case of RDT, one RTSPStream can represent multiple
307 * AVStreams. In this case, each AVStream in this set has similar content 317 * AVStreams. In this case, each AVStream in this set has similar content
308 * (but different codec/bitrate). 318 * (but different codec/bitrate).
309 */ 319 */
310 typedef struct RTSPStream { 320 typedef struct RTSPStream {
311 URLContext *rtp_handle; /**< RTP stream handle (if UDP) */ 321 URLContext *rtp_handle; /**< RTP stream handle (if UDP) */
312 void *transport_priv; /**< RTP/RDT parse context if input, RTP AVFormatConte xt if output */ 322 void *transport_priv; /**< RTP/RDT parse context if input, RTP AVFormatConte xt if output */
313 323
314 /** corresponding stream index, if any. -1 if none (MPEG2TS case) */ 324 /** corresponding stream index, if any. -1 if none (MPEG2TS case) */
315 int stream_index; 325 int stream_index;
316 326
317 /** interleave IDs; copies of RTSPTransportField->interleaved_min/max 327 /** interleave IDs; copies of RTSPTransportField->interleaved_min/max
318 * for the selected transport. Only used for TCP. */ 328 * for the selected transport. Only used for TCP. */
319 int interleaved_min, interleaved_max; 329 int interleaved_min, interleaved_max;
320 330
321 char control_url[1024]; /**< url for this stream (from SDP) */ 331 char control_url[1024]; /**< url for this stream (from SDP) */
322 332
323 /** The following are used only in SDP, not RTSP */ 333 /** The following are used only in SDP, not RTSP */
324 //@{ 334 //@{
325 int sdp_port; /**< port (from SDP content) */ 335 int sdp_port; /**< port (from SDP content) */
326 struct in_addr sdp_ip; /**< IP address (from SDP content) */ 336 struct sockaddr_storage sdp_ip; /**< IP address (from SDP content) */
327 int sdp_ttl; /**< IP Time-To-Live (from SDP content) */ 337 int sdp_ttl; /**< IP Time-To-Live (from SDP content) */
328 int sdp_payload_type; /**< payload type */ 338 int sdp_payload_type; /**< payload type */
329 //@} 339 //@}
330 340
331 /** The following are used for dynamic protocols (rtp_*.c/rdt.c) */ 341 /** The following are used for dynamic protocols (rtp_*.c/rdt.c) */
332 //@{ 342 //@{
333 /** handler structure */ 343 /** handler structure */
334 RTPDynamicProtocolHandler *dynamic_handler; 344 RTPDynamicProtocolHandler *dynamic_handler;
335 345
336 /** private data associated with the dynamic protocol */ 346 /** private data associated with the dynamic protocol */
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
455 void ff_rtsp_close_streams(AVFormatContext *s); 465 void ff_rtsp_close_streams(AVFormatContext *s);
456 466
457 /** 467 /**
458 * Close all connection handles within the RTSP (de)muxer 468 * Close all connection handles within the RTSP (de)muxer
459 * 469 *
460 * @param rt RTSP (de)muxer context 470 * @param rt RTSP (de)muxer context
461 */ 471 */
462 void ff_rtsp_close_connections(AVFormatContext *rt); 472 void ff_rtsp_close_connections(AVFormatContext *rt);
463 473
464 #endif /* AVFORMAT_RTSP_H */ 474 #endif /* AVFORMAT_RTSP_H */
OLDNEW
« no previous file with comments | « source/patched-ffmpeg-mt/libavformat/rtpproto.c ('k') | source/patched-ffmpeg-mt/libavformat/rtsp.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698