mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-22 07:20:45 +00:00
a505c0d737
The packetizer only supports splitting at GOB headers - if such aren't available frequently enough, it splits at any random byte offset (not at a macroblock boundary either, which would be allowed by the spec) and sends a payload header pretend that it starts with a GOB header. As long as a receiver doesn't try to handle such cases cleverly but just drops broken frames, this shouldn't matter too much in practice. Signed-off-by: Martin Storsjö <martin@martin.st>
72 lines
3.2 KiB
C
72 lines
3.2 KiB
C
/*
|
|
* RTP depacketizer declarations
|
|
* Copyright (c) 2010 Martin Storsjo
|
|
*
|
|
* This file is part of Libav.
|
|
*
|
|
* Libav 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.
|
|
*
|
|
* Libav 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 Libav; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
|
|
#ifndef AVFORMAT_RTPDEC_FORMATS_H
|
|
#define AVFORMAT_RTPDEC_FORMATS_H
|
|
|
|
#include "rtpdec.h"
|
|
|
|
/**
|
|
* Parse a Windows Media Server-specific SDP line
|
|
*
|
|
* @param s RTSP demux context
|
|
*/
|
|
int ff_wms_parse_sdp_a_line(AVFormatContext *s, const char *p);
|
|
|
|
int ff_h263_handle_packet(AVFormatContext *ctx, PayloadContext *data,
|
|
AVStream *st, AVPacket *pkt, uint32_t *timestamp,
|
|
const uint8_t *buf, int len, uint16_t seq, int flags);
|
|
|
|
extern RTPDynamicProtocolHandler ff_amr_nb_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_amr_wb_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_g726_16_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_g726_24_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_g726_32_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_g726_40_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_h261_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_h263_1998_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_h263_2000_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_h263_rfc2190_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_h264_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_hevc_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_ilbc_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_jpeg_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_mp4a_latm_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_mp4v_es_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_mpeg_audio_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_mpeg_video_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_mpeg4_generic_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_mpegts_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_ms_rtp_asf_pfa_handler;
|
|
extern RTPDynamicProtocolHandler ff_ms_rtp_asf_pfv_handler;
|
|
extern RTPDynamicProtocolHandler ff_qcelp_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_qdm2_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_qt_rtp_aud_handler;
|
|
extern RTPDynamicProtocolHandler ff_qt_rtp_vid_handler;
|
|
extern RTPDynamicProtocolHandler ff_quicktime_rtp_aud_handler;
|
|
extern RTPDynamicProtocolHandler ff_quicktime_rtp_vid_handler;
|
|
extern RTPDynamicProtocolHandler ff_svq3_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_theora_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_vorbis_dynamic_handler;
|
|
extern RTPDynamicProtocolHandler ff_vp8_dynamic_handler;
|
|
|
|
#endif /* AVFORMAT_RTPDEC_FORMATS_H */
|