diff options
Diffstat (limited to 'libmpdemux/demux_ogg.c')
-rw-r--r-- | libmpdemux/demux_ogg.c | 70 |
1 files changed, 33 insertions, 37 deletions
diff --git a/libmpdemux/demux_ogg.c b/libmpdemux/demux_ogg.c index 2bd6781cf2..e453f61ad4 100644 --- a/libmpdemux/demux_ogg.c +++ b/libmpdemux/demux_ogg.c @@ -32,6 +32,9 @@ #include "demuxer.h" #include "stheader.h" #include "ffmpeg_files/intreadwrite.h" +#include "aviprint.h" +#include "demux_mov.h" +#include "demux_ogg.h" #define FOURCC_VORBIS mmioFOURCC('v', 'r', 'b', 's') #define FOURCC_SPEEX mmioFOURCC('s', 'p', 'x', ' ') @@ -177,7 +180,8 @@ extern char *dvdsub_lang, *audio_lang; static subtitle ogg_sub; //FILE* subout; -static void demux_ogg_add_sub (ogg_stream_t* os,ogg_packet* pack) { +static void demux_ogg_add_sub(ogg_stream_t *os, ogg_packet *pack) +{ int lcv; char *packet = pack->packet; @@ -365,7 +369,32 @@ static int demux_ogg_check_lang(const char *clang, const char *langlist) return 0; } -static int demux_ogg_sub_reverse_id(demuxer_t *demuxer, int id); +/** \brief Change the current subtitle stream and return its ID. + + \param demuxer The demuxer whose subtitle stream will be changed. + \param new_num The number of the new subtitle track. The number must be + between 0 and ogg_d->n_text - 1. + + \returns The Ogg stream number ( = page serial number) of the newly selected + track. +*/ +static int demux_ogg_sub_id(demuxer_t *demuxer, int index) +{ + ogg_demuxer_t *ogg_d = demuxer->priv; + return (index < 0) ? index : (index >= ogg_d->n_text) ? -1 : ogg_d->text_ids[index]; +} + +/** \brief Translate the ogg track number into the subtitle number. + * \param demuxer The demuxer about whose subtitles we are inquiring. + * \param id The ogg track number of the subtitle track. + */ +static int demux_ogg_sub_reverse_id(demuxer_t *demuxer, int id) { + ogg_demuxer_t *ogg_d = demuxer->priv; + int i; + for (i = 0; i < ogg_d->n_text; i++) + if (ogg_d->text_ids[i] == id) return i; + return -1; +} /// Try to print out comments and also check for LANGUAGE= tag static void demux_ogg_check_comments(demuxer_t *d, ogg_stream_t *os, int id, vorbis_comment *vc) @@ -513,7 +542,8 @@ static int demux_ogg_add_packet(demux_stream_t* ds,ogg_stream_t* os,int id,ogg_p /// if -forceidx build a table of all syncpoints to make seeking easier /// otherwise try to get at least the final_granulepos -static void demux_ogg_scan_stream(demuxer_t* demuxer) { +static void demux_ogg_scan_stream(demuxer_t *demuxer) +{ ogg_demuxer_t* ogg_d = demuxer->priv; stream_t *s = demuxer->stream; ogg_sync_state* sync = &ogg_d->sync; @@ -635,40 +665,6 @@ static void demux_ogg_scan_stream(demuxer_t* demuxer) { } -void print_wave_header(WAVEFORMATEX *h, int verbose_level); -void print_video_header(BITMAPINFOHEADER *h, int verbose_level); - -/* defined in demux_mov.c */ -unsigned int store_ughvlc(unsigned char *s, unsigned int v); - -/** \brief Change the current subtitle stream and return its ID. - - \param demuxer The demuxer whose subtitle stream will be changed. - \param new_num The number of the new subtitle track. The number must be - between 0 and ogg_d->n_text - 1. - - \returns The Ogg stream number ( = page serial number) of the newly selected - track. -*/ -int demux_ogg_sub_id(demuxer_t *demuxer, int index) { - ogg_demuxer_t *ogg_d = demuxer->priv; - return (index < 0) ? index : (index >= ogg_d->n_text) ? -1 : ogg_d->text_ids[index]; -} - -/** \brief Translate the ogg track number into the subtitle number. - * \param demuxer The demuxer about whose subtitles we are inquiring. - * \param id The ogg track number of the subtitle track. - */ -static int demux_ogg_sub_reverse_id(demuxer_t *demuxer, int id) { - ogg_demuxer_t *ogg_d = demuxer->priv; - int i; - for (i = 0; i < ogg_d->n_text; i++) - if (ogg_d->text_ids[i] == id) return i; - return -1; -} - -static void demux_close_ogg(demuxer_t* demuxer); - static void fixup_vorbis_wf(sh_audio_t *sh, ogg_demuxer_t *od) { int i, offset; |