mmfile.c File Reference

#include "race.h"
#include "mmfile.h"
#include "int_types.h"
#include "macros.h"
#include "utils.h"
#include "logging.h"
#include <math.h>
#include <assert.h>
#include <stdio.h>
#include <memory.h>
#include <stdlib.h>
#include <limits.h>
#include <ogg/ogg.h>
#include <vorbis/codec.h>
#include <theora/theora.h>
#include <SDL.h>

Go to the source code of this file.

Functions

static int get_packet (mm_file *mf, ogg_packet *pkt, enum stream_type type)
static int get_page (mm_file *mf, ogg_page *pg)
 --
static int init_theora (mm_file *mf, ogg_page *pg)
static int init_vorbis (mm_file *mf, ogg_page *pg)
 LOG_DEFAULT_CATEGORY (multimedia)
int mm_audio_info (const mm_file *mf, unsigned *channels, unsigned *rate)
 
Returns:
rval < 0: no audio in file

int mm_close (mm_file *mf)
int mm_decode_audio (mm_file *mf, void *buf, int buflen)
int mm_decode_video (mm_file *mf, SDL_Overlay *ovl)
unsigned mm_ignore (mm_file *mf, unsigned mask)
int mm_open (mm_file *mf, const char *fname)
int mm_open_fp (mm_file *mf, FILE *file)
int mm_video_info (const mm_file *mf, unsigned *width, unsigned *height, float *fps)
 
Returns:
rval < 0: no video in file

static int yuv_to_overlay (const mm_file *mf, const yuv_buffer *yuv, SDL_Overlay *ovl)


Function Documentation

static int get_packet ( mm_file mf,
ogg_packet *  pkt,
enum stream_type  type 
) [static]

Definition at line 78 of file mmfile.c.

References mm_file::audio, mm_file::drop_packets, mm_file::end_of_stream, get_page(), INFO2, MEDIA_AUDIO, MEDIA_VIDEO, other, mm_file::video, and WARNING2.

Referenced by mm_decode_audio(), and mm_decode_video().

static int get_page ( mm_file mf,
ogg_page *  pg 
) [static]

--

Returns:
-1 on error

0 on end of file

1 on successful page read

Definition at line 44 of file mmfile.c.

References bufsize, ERROR1, mm_file::file, and mm_file::sync.

Referenced by get_packet(), init_theora(), init_vorbis(), and mm_open_fp().

static int init_theora ( mm_file mf,
ogg_page *  pg 
) [static]

Definition at line 146 of file mmfile.c.

References get_page(), INFO1, mm_file::video, mm_file::video_ctx, mm_file::video_info, and xmalloc().

Referenced by mm_open_fp().

static int init_vorbis ( mm_file mf,
ogg_page *  pg 
) [static]

Definition at line 218 of file mmfile.c.

References mm_file::audio, mm_file::audio_blk, mm_file::audio_ctx, mm_file::audio_info, get_page(), INFO1, and xmalloc().

Referenced by mm_open_fp().

LOG_DEFAULT_CATEGORY ( multimedia   ) 

int mm_audio_info ( const mm_file mf,
unsigned *  channels,
unsigned *  rate 
)

Returns:
rval < 0: no audio in file

Definition at line 514 of file mmfile.c.

Referenced by load_audio_file(), main(), mm_decode_audio(), and mm_open_fp().

int mm_close ( mm_file mf  ) 

Definition at line 438 of file mmfile.c.

Referenced by AbzFrame(), load_audio_file(), LoadNewsAnim(), main(), mm_open_fp(), News(), PlaySequence(), and Replay().

int mm_decode_audio ( mm_file mf,
void buf,
int  buflen 
)

Definition at line 564 of file mmfile.c.

Referenced by load_audio_file(), and main().

int mm_decode_video ( mm_file mf,
SDL_Overlay *  ovl 
)

Definition at line 527 of file mmfile.c.

Referenced by AbzFrame(), LoadNewsAnim(), main(), PlayNewsAnim(), PlaySequence(), and Replay().

unsigned mm_ignore ( mm_file mf,
unsigned  mask 
)

Definition at line 429 of file mmfile.c.

int mm_open ( mm_file mf,
const char *  fname 
)

Definition at line 420 of file mmfile.c.

Referenced by main().

int mm_open_fp ( mm_file mf,
FILE *  file 
)

Definition at line 366 of file mmfile.c.

Referenced by AbzFrame(), load_audio_file(), LoadNewsAnim(), mm_open(), PlaySequence(), and Replay().

int mm_video_info ( const mm_file mf,
unsigned *  width,
unsigned *  height,
float *  fps 
)

Returns:
rval < 0: no video in file

Definition at line 494 of file mmfile.c.

Referenced by AbzFrame(), LoadNewsAnim(), main(), mm_open_fp(), PlaySequence(), and Replay().

static int yuv_to_overlay ( const mm_file mf,
const yuv_buffer *  yuv,
SDL_Overlay *  ovl 
) [static]

Definition at line 295 of file mmfile.c.

References min, mm_file::video_info, and WARNING1.

Referenced by mm_decode_video().


Generated on Fri Sep 28 00:35:47 2007 for raceintospace by  doxygen 1.5.3