FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Functions
ismindex.c File Reference
#include <stdio.h>
#include <string.h>
#include "cmdutils.h"
#include "libavformat/avformat.h"
#include "libavformat/isom.h"
#include "libavformat/os_support.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mathematics.h"

Go to the source code of this file.

Data Structures

struct  MoofOffset
 
struct  Track
 
struct  Tracks
 

Functions

static int usage (const char *argv0, int ret)
 
static int expect_tag (int32_t got_tag, int32_t expected_tag)
 
static int copy_tag (AVIOContext *in, AVIOContext *out, int32_t tag_name)
 
static int skip_tag (AVIOContext *in, int32_t tag_name)
 
static int write_fragment (const char *filename, AVIOContext *in)
 
static int skip_fragment (AVIOContext *in)
 
static int write_fragments (struct Tracks *tracks, int start_index, AVIOContext *in, const char *basename, int split, int ismf, const char *output_prefix)
 
static int64_t read_trun_duration (AVIOContext *in, int default_duration, int64_t end)
 
static int64_t read_moof_duration (AVIOContext *in, int64_t offset)
 
static int read_tfra (struct Tracks *tracks, int start_index, AVIOContext *f)
 
static int read_mfra (struct Tracks *tracks, int start_index, const char *file, int split, int ismf, const char *basename, const char *output_prefix)
 
static int get_private_data (struct Track *track, AVCodecContext *codec)
 
static int get_video_private_data (struct Track *track, AVCodecContext *codec)
 
static int handle_file (struct Tracks *tracks, const char *file, int split, int ismf, const char *basename, const char *output_prefix)
 
static void output_server_manifest (struct Tracks *tracks, const char *basename, const char *output_prefix, const char *path_prefix, const char *ismc_prefix)
 
static void print_track_chunks (FILE *out, struct Tracks *tracks, int main, const char *type)
 
static void output_client_manifest (struct Tracks *tracks, const char *basename, const char *output_prefix, int split)
 
static void clean_tracks (struct Tracks *tracks)
 
int main (int argc, char **argv)
 

Function Documentation

static int usage ( const char *  argv0,
int  ret 
)
static

Definition at line 58 of file ismindex.c.

static int expect_tag ( int32_t  got_tag,
int32_t  expected_tag 
)
static

Definition at line 97 of file ismindex.c.

Referenced by copy_tag(), read_moof_duration(), and skip_tag().

static int copy_tag ( AVIOContext in,
AVIOContext out,
int32_t  tag_name 
)
static

Definition at line 109 of file ismindex.c.

Referenced by write_fragment(), and yop_copy_previous_block().

static int skip_tag ( AVIOContext in,
int32_t  tag_name 
)
static

Definition at line 134 of file ismindex.c.

Referenced by decode_frame_common(), and skip_fragment().

static int write_fragment ( const char *  filename,
AVIOContext in 
)
static

Definition at line 147 of file ismindex.c.

Referenced by write_fragments().

static int skip_fragment ( AVIOContext in)
static

Definition at line 168 of file ismindex.c.

Referenced by write_fragments().

static int write_fragments ( struct Tracks tracks,
int  start_index,
AVIOContext in,
const char *  basename,
int  split,
int  ismf,
const char *  output_prefix 
)
static

Definition at line 177 of file ismindex.c.

Referenced by read_mfra().

static int64_t read_trun_duration ( AVIOContext in,
int  default_duration,
int64_t  end 
)
static

Definition at line 230 of file ismindex.c.

Referenced by read_moof_duration().

static int64_t read_moof_duration ( AVIOContext in,
int64_t  offset 
)
static

Definition at line 266 of file ismindex.c.

Referenced by read_tfra().

static int read_tfra ( struct Tracks tracks,
int  start_index,
AVIOContext f 
)
static

Definition at line 318 of file ismindex.c.

Referenced by read_mfra().

static int read_mfra ( struct Tracks tracks,
int  start_index,
const char *  file,
int  split,
int  ismf,
const char *  basename,
const char *  output_prefix 
)
static

Definition at line 408 of file ismindex.c.

Referenced by handle_file().

static int get_private_data ( struct Track track,
AVCodecContext codec 
)
static

Definition at line 449 of file ismindex.c.

Referenced by get_video_private_data(), and handle_file().

static int get_video_private_data ( struct Track track,
AVCodecContext codec 
)
static

Definition at line 459 of file ismindex.c.

Referenced by handle_file().

static int handle_file ( struct Tracks tracks,
const char *  file,
int  split,
int  ismf,
const char *  basename,
const char *  output_prefix 
)
static

Definition at line 490 of file ismindex.c.

Referenced by main().

static void output_server_manifest ( struct Tracks tracks,
const char *  basename,
const char *  output_prefix,
const char *  path_prefix,
const char *  ismc_prefix 
)
static

Definition at line 610 of file ismindex.c.

Referenced by main().

static void print_track_chunks ( FILE *  out,
struct Tracks tracks,
int  main,
const char *  type 
)
static

Definition at line 648 of file ismindex.c.

Referenced by output_client_manifest().

static void output_client_manifest ( struct Tracks tracks,
const char *  basename,
const char *  output_prefix,
int  split 
)
static

Definition at line 683 of file ismindex.c.

Referenced by main().

static void clean_tracks ( struct Tracks tracks)
static

Definition at line 766 of file ismindex.c.

Referenced by main().

int main ( int  argc,
char **  argv 
)

Definition at line 778 of file ismindex.c.