|
FFmpeg
|
#include "config_components.h"#include <stdint.h>#include "libavutil/crc.h"#include "libavutil/mathematics.h"#include "libavutil/mem.h"#include "libavutil/opt.h"#include "libavutil/random_seed.h"#include "libavcodec/xiph.h"#include "libavcodec/bytestream.h"#include "libavcodec/flac.h"#include "libavformat/avformat.h"#include "libavformat/avio_internal.h"#include "libavformat/internal.h"#include "libavformat/mux.h"#include "libavformat/version.h"#include "libavformat/vorbis/comment.h"Go to the source code of this file.
Data Structures | |
| struct | OGGPage |
| struct | OGGStreamContext |
| struct | OGGPageList |
| struct | OGGContext |
Macros | |
| #define | MAX_PAGE_SIZE 65025 |
| #define | OFFSET(x) |
| #define | PARAM AV_OPT_FLAG_ENCODING_PARAM |
| #define | SPEEX_HEADER_SIZE 80 |
| #define | OPUS_HEADER_SIZE 19 |
| #define | VP8_HEADER_SIZE 26 |
Functions | |
| static int | ogg_write_trailer (AVFormatContext *s) |
| static void | ogg_cleanup_stream (AVStream *st) |
| static void | ogg_write_page (AVFormatContext *s, OGGPage *page, int extra_flags) |
| static int | ogg_key_granule (OGGStreamContext *oggstream, int64_t granule) |
| static int64_t | ogg_granule_to_timestamp (OGGStreamContext *oggstream, int64_t granule) |
| static int | ogg_compare_granule (AVFormatContext *s, OGGPage *next, OGGPage *page) |
| static int | ogg_reset_cur_page (OGGStreamContext *oggstream) |
| static int | ogg_buffer_page (AVFormatContext *s, OGGStreamContext *oggstream) |
| static int | ogg_buffer_data (AVFormatContext *s, AVStream *st, const uint8_t *data, unsigned size, int64_t granule, int header) |
| static uint8_t * | ogg_write_vorbiscomment (int64_t offset, int bitexact, int *header_len, AVDictionary **m, int framing_bit, AVChapter **chapters, unsigned int nb_chapters) |
| static int | ogg_build_flac_headers (AVCodecParameters *par, OGGStreamContext *oggstream, int bitexact, AVDictionary **m) |
| static int | ogg_build_speex_headers (AVCodecParameters *par, OGGStreamContext *oggstream, int bitexact, AVDictionary **m) |
| static int | ogg_build_opus_headers (AVCodecParameters *par, OGGStreamContext *oggstream, int bitexact, AVDictionary **m, AVChapter **chapters, unsigned int nb_chapters) |
| static int | ogg_build_vp8_headers (AVFormatContext *s, AVStream *st, OGGStreamContext *oggstream, int bitexact) |
| static void | ogg_write_pages (AVFormatContext *s, int flush) |
| static unsigned | ogg_bitexact_serial (const OGGStreamContext *oggstream, unsigned seed) |
| Derive a bitexact serial number from the stream's header packets, which makes links muxed apart unlikely to share one, though not certain not to. | |
| static int | ogg_serial_in_use (AVFormatContext *s, int nb_streams, unsigned serial_num) |
| static int | ogg_init (AVFormatContext *s) |
| static int | ogg_write_header (AVFormatContext *s) |
| static int | ogg_skip_new_link (AVFormatContext *s, const uint8_t *new_extradata, const char *reason) |
| Keep the current link when a new one cannot be started. | |
| static int | ogg_check_new_link (AVFormatContext *s, AVPacket *pkt) |
| static int | ogg_write_packet_internal (AVFormatContext *s, AVPacket *pkt) |
| static int | ogg_write_packet (AVFormatContext *s, AVPacket *pkt) |
| static void | ogg_free (AVFormatContext *s) |
Variables | |
| static const AVOption | options [] |
| static const AVClass | ogg_muxer_class |
| #define OFFSET | ( | x | ) |
| #define PARAM AV_OPT_FLAG_ENCODING_PARAM |
| #define SPEEX_HEADER_SIZE 80 |
Definition at line 365 of file muxer.c.
Referenced by ogg_build_speex_headers().
| #define OPUS_HEADER_SIZE 19 |
Definition at line 394 of file muxer.c.
Referenced by ogg_build_opus_headers().
|
static |
Definition at line 868 of file muxer.c.
Referenced by ogg_check_new_link().
|
static |
Definition at line 106 of file muxer.c.
Referenced by ogg_free(), and ogg_init().
|
static |
Definition at line 120 of file muxer.c.
Referenced by ogg_write_pages().
|
static |
Definition at line 148 of file muxer.c.
Referenced by ogg_buffer_data().
|
static |
Definition at line 154 of file muxer.c.
Referenced by ogg_buffer_data(), ogg_buffer_page(), and ogg_compare_granule().
|
static |
Definition at line 165 of file muxer.c.
Referenced by ogg_buffer_page().
|
static |
Definition at line 181 of file muxer.c.
Referenced by ogg_buffer_page().
|
static |
Definition at line 190 of file muxer.c.
Referenced by ogg_buffer_data(), ogg_write_header(), ogg_write_packet(), and ogg_write_trailer().
|
static |
Definition at line 217 of file muxer.c.
Referenced by ogg_write_header(), and ogg_write_packet_internal().
|
static |
Definition at line 299 of file muxer.c.
Referenced by ogg_build_flac_headers(), ogg_build_opus_headers(), ogg_build_speex_headers(), ogg_build_vp8_headers(), and ogg_init().
|
static |
Definition at line 329 of file muxer.c.
Referenced by ogg_init().
|
static |
Definition at line 367 of file muxer.c.
Referenced by ogg_init().
|
static |
Definition at line 396 of file muxer.c.
Referenced by ogg_init().
|
static |
Definition at line 426 of file muxer.c.
Referenced by ogg_init().
|
static |
Definition at line 475 of file muxer.c.
Referenced by ogg_write_header(), ogg_write_packet(), ogg_write_packet_internal(), and ogg_write_trailer().
|
static |
Derive a bitexact serial number from the stream's header packets, which makes links muxed apart unlikely to share one, though not certain not to.
Definition at line 501 of file muxer.c.
Referenced by ogg_init().
|
static |
Definition at line 513 of file muxer.c.
Referenced by ogg_init().
|
static |
KFGSHIFT is the width of the less significant section of the granule position The less significant section is the frame count since the last keyframe
Definition at line 525 of file muxer.c.
Referenced by ogg_check_new_link().
|
static |
Definition at line 662 of file muxer.c.
Referenced by ogg_check_new_link().
|
static |
Keep the current link when a new one cannot be started.
New metadata is then dropped, while new extradata ends the output, as the packets that follow need its headers.
Definition at line 706 of file muxer.c.
Referenced by ogg_check_new_link().
|
static |
Definition at line 721 of file muxer.c.
Referenced by ogg_write_packet_internal().
|
static |
Definition at line 789 of file muxer.c.
Referenced by ogg_write_packet().
|
static |
|
static |
|
static |
|
static |