43 const char *attr,
const char *
value)
46 if (!strcmp(attr,
"audio") && !strcmp(value,
"bundled"))
50 if (!strcmp(attr,
"encode")) {
76 const char *sdp_line_ptr = line;
81 current_stream = ctx->
streams[st_index];
83 if (
av_strstart(sdp_line_ptr,
"fmtp:", &sdp_line_ptr)) {
84 return ff_parse_fmtp(ctx, current_stream, dv_data, sdp_line_ptr,
99 if (rtp_dv_ctx->
buf && rtp_dv_ctx->
timestamp != *timestamp) {
110 if (!rtp_dv_ctx->
buf) {
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
ptrdiff_t const GLvoid * data
RTP/JPEG specific private data.
int index
stream index in AVFormatContext
static int dv_handle_packet(AVFormatContext *ctx, PayloadContext *rtp_dv_ctx, AVStream *st, AVPacket *pkt, uint32_t *timestamp, const uint8_t *buf, int len, uint16_t seq, int flags)
int avio_open_dyn_buf(AVIOContext **s)
Open a write only memory stream.
AVStream ** streams
A list of all streams in the file.
void avio_write(AVIOContext *s, const unsigned char *buf, int size)
uint32_t timestamp
current frame timestamp
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
#define RTP_FLAG_MARKER
RTP marker bit was set for this packet.
static av_cold int dv_sdp_parse_fmtp_config(AVFormatContext *s, AVStream *stream, PayloadContext *dv_data, const char *attr, const char *value)
static av_cold int dv_parse_sdp_line(AVFormatContext *ctx, int st_index, PayloadContext *dv_data, const char *line)
GLsizei GLboolean const GLfloat * value
void ffio_free_dyn_buf(AVIOContext **s)
Free a dynamic buffer.
static av_cold void dv_close_context(PayloadContext *data)
uint8_t * buf
the temporary storage buffer
int ff_parse_fmtp(AVFormatContext *s, AVStream *stream, PayloadContext *data, const char *p, int(*parse_fmtp)(AVFormatContext *s, AVStream *stream, PayloadContext *data, const char *attr, const char *value))
int av_strstart(const char *str, const char *pfx, const char **ptr)
Return non-zero if pfx is a prefix of str.
int ff_rtp_finalize_packet(AVPacket *pkt, AVIOContext **dyn_buf, int stream_idx)
Close the dynamic buffer and make a packet from it.
const RTPDynamicProtocolHandler ff_dv_dynamic_handler
This structure stores compressed data.