#include <fileogg.h>
Inheritance diagram for FileOGG:

Public Member Functions | |
| FileOGG (Asset *asset, File *file) | |
| ~FileOGG () | |
| int | reset_parameters_derived () |
| int | open_file (int rd, int wr) |
| int | close_file () |
| int | close_file_derived () |
| int64_t | get_video_position () |
| int64_t | get_audio_position () |
| int | set_video_position (int64_t x) |
| int | set_audio_position (int64_t x) |
| int | colormodel_supported (int colormodel) |
| int | get_best_colormodel (Asset *asset, int driver) |
| int | write_samples (double **buffer, int64_t len) |
| int | write_frames (VFrame ***frames, int len) |
| int | read_samples (double *buffer, int64_t len) |
| int | read_frame (VFrame *frame) |
Static Public Member Functions | |
| static void | get_parameters (BC_WindowBase *parent_window, Asset *asset, BC_WindowBase *&format_window, int audio_options, int video_options) |
| static int | check_sig (Asset *asset) |
Private Member Functions | |
| int | write_samples_vorbis (double **buffer, int64_t len, int e_o_s) |
| int | write_frames_theora (VFrame ***frames, int len, int e_o_s) |
| void | flush_ogg (int e_o_s) |
| int | write_audio_page () |
| int | write_video_page () |
| int | ogg_get_last_page (sync_window_t *sw, long serialno, ogg_page *og) |
| int | ogg_get_prev_page (sync_window_t *sw, long serialno, ogg_page *og) |
| int | ogg_get_first_page (sync_window_t *sw, long serialno, ogg_page *og) |
| int | ogg_get_next_page (sync_window_t *sw, long serialno, ogg_page *og) |
| int | ogg_sync_and_get_next_page (sync_window_t *sw, long serialno, ogg_page *og) |
| int | ogg_get_page_of_sample (sync_window_t *sw, long serialno, ogg_page *og, int64_t sample) |
| int | ogg_seek_to_sample (sync_window_t *sw, long serialno, int64_t sample) |
| int | ogg_decode_more_samples (sync_window_t *sw, long serialno) |
| int | ogg_get_page_of_frame (sync_window_t *sw, long serialno, ogg_page *og, int64_t frame) |
| int | ogg_seek_to_keyframe (sync_window_t *sw, long serialno, int64_t frame, int64_t *keyframe_number) |
| int | move_history (int from, int to, int len) |
Private Attributes | |
| FILE * | stream |
| off_t | file_length |
| theoraframes_info_t * | tf |
| VFrame * | temp_frame |
| Mutex * | flush_lock |
| off_t | filedata_begin |
| int64_t | start_sample |
| int64_t | last_sample |
| int64_t | start_frame |
| int64_t | last_frame |
| int64_t | ogg_sample_position |
| int64_t | next_sample_position |
| float ** | pcm_history |
| int64_t | history_start |
| int64_t | history_size |
| int | theora_cmodel |
| int64_t | ogg_frame_position |
| int64_t | next_frame_position |
| char | theora_keyframe_granule_shift |
Definition at line 73 of file fileogg.h.
|
||||||||||||
|
Definition at line 31 of file fileogg.C. References Asset::byte_order, Asset::format, and FileBase::reset_parameters(). |
|
|
Definition at line 40 of file fileogg.C. References FileBase::asset, theoraframes_info_t::audiosync, Asset::channels, close_file(), flush_lock, pcm_history, stream, sync_window_t::sync, theoraframes_info_t::tc, temp_frame, tf, theoraframes_info_t::ti, theoraframes_info_t::vc, theoraframes_info_t::vi, and theoraframes_info_t::videosync. |
|
|
Definition at line 1252 of file fileogg.C. References fclose(), fopen(), fread(), fseek(), and Asset::path. Referenced by File::open_file(). |
|
|
Reimplemented from FileBase. Definition at line 1273 of file fileogg.C. References FileBase::asset, Asset::audio_data, fclose(), flush_ogg(), FileBase::rd, stream, theoraframes_info_t::tc, theoraframes_info_t::td, tf, theoraframes_info_t::ti, theoraframes_info_t::to, theoraframes_info_t::vb, theoraframes_info_t::vc, theoraframes_info_t::vd, theoraframes_info_t::vi, Asset::video_data, theoraframes_info_t::vo, FileBase::wr, write_frames_theora(), and write_samples_vorbis(). Referenced by ~FileOGG(). |
|
|
Reimplemented from FileBase. |
|
|
Reimplemented from FileBase. |
|
|
|
Reimplemented from FileBase. Definition at line 1340 of file fileogg.C. References next_sample_position, and start_sample. |
|
||||||||||||
|
|
|
||||||||||||||||||||||||
|
Definition at line 73 of file fileogg.C. References OGGConfigVideo::create_objects(), and OGGConfigAudio::create_objects(). Referenced by File::get_options(). |
|
|
Reimplemented from FileBase. Definition at line 1334 of file fileogg.C. References next_frame_position, and start_frame. |
|
||||||||||||||||
|
Definition at line 1523 of file fileogg.C. References FileBase::asset, Asset::channels, history_start, and pcm_history. Referenced by read_samples(). |
|
||||||||||||
|
Definition at line 1491 of file fileogg.C. References ogg_get_next_page(), tf, theoraframes_info_t::vb, theoraframes_info_t::vd, and theoraframes_info_t::vo. Referenced by read_samples(). |
|
||||||||||||||||
|
Definition at line 911 of file fileogg.C. References ogg_get_next_page(), read_buffer_at(), READ_SIZE, and stream. Referenced by open_file(). |
|
||||||||||||||||
|
Definition at line 867 of file fileogg.C. References file_length, sync_window_t::file_pagepos, sync_window_t::file_pagepos_found, read_buffer_at(), READ_SIZE, stream, and sync_and_take_page_out(). Referenced by open_file(). |
|
||||||||||||||||
|
Definition at line 919 of file fileogg.C. References sync_window_t::file_pagepos, sync_window_t::file_pagepos_found, stream, and take_page_out_autoadvance(). Referenced by ogg_decode_more_samples(), ogg_get_first_page(), ogg_get_page_of_frame(), ogg_get_page_of_sample(), ogg_seek_to_keyframe(), ogg_seek_to_sample(), ogg_sync_and_get_next_page(), open_file(), and read_frame(). |
|
||||||||||||||||||||
|
Definition at line 1089 of file fileogg.C. References FileBase::asset, file_length, filedata_begin, ogg_get_next_page(), ogg_get_prev_page(), ogg_sync_and_get_next_page(), read_buffer_at(), READ_SIZE, start_frame, stream, theoraframes_info_t::td, tf, and Asset::video_length. Referenced by ogg_seek_to_keyframe(). |
|
||||||||||||||||||||
|
Definition at line 959 of file fileogg.C. References FileBase::asset, Asset::audio_length, file_length, filedata_begin, ogg_get_next_page(), ogg_get_prev_page(), ogg_sync_and_get_next_page(), read_buffer_at(), READ_SIZE, start_sample, and stream. Referenced by ogg_seek_to_sample(). |
|
||||||||||||||||
|
Definition at line 792 of file fileogg.C. References sync_window_t::file_pagepos, sync_window_t::file_pagepos_found, read_buffer_at(), READ_SIZE, stream, and sync_and_take_page_out(). Referenced by ogg_get_page_of_frame(), ogg_get_page_of_sample(), and ogg_seek_to_keyframe(). |
|
||||||||||||||||||||
|
Definition at line 1175 of file fileogg.C. References ogg_get_next_page(), ogg_get_page_of_frame(), ogg_get_prev_page(), theoraframes_info_t::td, tf, theora_keyframe_granule_shift, and theoraframes_info_t::to. Referenced by read_frame(). |
|
||||||||||||||||
|
Definition at line 1012 of file fileogg.C. References ogg_get_next_page(), ogg_get_page_of_sample(), tf, theoraframes_info_t::vb, theoraframes_info_t::vd, and theoraframes_info_t::vo. Referenced by read_samples(). |
|
||||||||||||||||
|
Definition at line 932 of file fileogg.C. References sync_window_t::file_pagepos, sync_window_t::file_pagepos_found, ogg_get_next_page(), and sync_and_take_page_out(). Referenced by ogg_get_page_of_frame(), and ogg_get_page_of_sample(). |
|
||||||||||||
|
|
Reimplemented from FileBase. Definition at line 1371 of file fileogg.C. References next_frame_position, ogg_frame_position, ogg_get_next_page(), ogg_seek_to_keyframe(), stream, theoraframes_info_t::td, temp_frame, tf, theoraframes_info_t::to, and theoraframes_info_t::videosync. |
|
||||||||||||
|
Reimplemented from FileBase. Definition at line 1531 of file fileogg.C. References FileBase::asset, Asset::audio_length, theoraframes_info_t::audiosync, Asset::channels, File::current_channel, FileBase::file, HISTORY_MAX, history_size, history_start, move_history(), next_sample_position, ogg_decode_more_samples(), ogg_sample_position, ogg_seek_to_sample(), pcm_history, start_sample, tf, theoraframes_info_t::vd, and theoraframes_info_t::vo. |
|
|
Reimplemented from FileBase. Definition at line 98 of file fileogg.C. References flush_lock, pcm_history, stream, temp_frame, and tf. |
|
|
Reimplemented from FileBase. Definition at line 1517 of file fileogg.C. References next_sample_position, and start_sample. Referenced by open_file(). |
|
|
Reimplemented from FileBase. Definition at line 1345 of file fileogg.C. References next_frame_position, and start_frame. Referenced by open_file(). |
|
|
Definition at line 1687 of file fileogg.C. References theoraframes_info_t::apage, theoraframes_info_t::apage_len, theoraframes_info_t::apage_valid, fwrite(), stream, and tf. Referenced by flush_ogg(). |
|
||||||||||||
|
Reimplemented from FileBase. Definition at line 1930 of file fileogg.C. References write_frames_theora(). |
|
||||||||||||||||
|
Definition at line 1834 of file fileogg.C. References flush_lock, flush_ogg(), theoraframes_info_t::op, stream, theoraframes_info_t::td, temp_frame, tf, theoraframes_info_t::ti, and theoraframes_info_t::to. Referenced by close_file(), and write_frames(). |
|
||||||||||||
|
Reimplemented from FileBase. Definition at line 1827 of file fileogg.C. References write_samples_vorbis(). |
|
||||||||||||||||
|
Definition at line 1784 of file fileogg.C. References FileBase::asset, Asset::channels, flush_lock, flush_ogg(), theoraframes_info_t::op, tf, theoraframes_info_t::vb, theoraframes_info_t::vd, and theoraframes_info_t::vo. Referenced by close_file(), and write_samples(). |
|
|
Definition at line 1699 of file fileogg.C. References fwrite(), stream, tf, theoraframes_info_t::vpage, theoraframes_info_t::vpage_len, and theoraframes_info_t::vpage_valid. Referenced by flush_ogg(). |
|
|
Definition at line 109 of file fileogg.h. Referenced by ogg_get_last_page(), ogg_get_page_of_frame(), ogg_get_page_of_sample(), and open_file(). |
|
|
Definition at line 115 of file fileogg.h. Referenced by ogg_get_page_of_frame(), ogg_get_page_of_sample(), and open_file(). |
|
|
Definition at line 113 of file fileogg.h. Referenced by flush_ogg(), open_file(), reset_parameters_derived(), write_frames_theora(), write_samples_vorbis(), and ~FileOGG(). |
|
|
Definition at line 147 of file fileogg.h. Referenced by read_samples(). |
|
|
Definition at line 146 of file fileogg.h. Referenced by move_history(), and read_samples(). |
|
|
Definition at line 134 of file fileogg.h. Referenced by open_file(). |
|
|
Definition at line 132 of file fileogg.h. Referenced by open_file(). |
|
|
Definition at line 151 of file fileogg.h. Referenced by get_video_position(), read_frame(), and set_video_position(). |
|
|
Definition at line 138 of file fileogg.h. Referenced by get_audio_position(), read_samples(), and set_audio_position(). |
|
|
Definition at line 150 of file fileogg.h. Referenced by open_file(), and read_frame(). |
|
|
Definition at line 137 of file fileogg.h. Referenced by open_file(), and read_samples(). |
|
|
Definition at line 142 of file fileogg.h. Referenced by move_history(), read_samples(), reset_parameters_derived(), and ~FileOGG(). |
|
|
Definition at line 133 of file fileogg.h. Referenced by get_video_position(), ogg_get_page_of_frame(), open_file(), and set_video_position(). |
|
|
Definition at line 131 of file fileogg.h. Referenced by get_audio_position(), ogg_get_page_of_sample(), open_file(), read_samples(), and set_audio_position(). |
|
|
Definition at line 108 of file fileogg.h. Referenced by close_file(), close_file_derived(), ogg_get_first_page(), ogg_get_last_page(), ogg_get_next_page(), ogg_get_page_of_frame(), ogg_get_page_of_sample(), ogg_get_prev_page(), open_file(), read_frame(), reset_parameters_derived(), write_audio_page(), write_frames_theora(), write_video_page(), and ~FileOGG(). |
|
|
Definition at line 112 of file fileogg.h. Referenced by read_frame(), reset_parameters_derived(), write_frames_theora(), and ~FileOGG(). |
|
|
Definition at line 111 of file fileogg.h. Referenced by close_file(), flush_ogg(), ogg_decode_more_samples(), ogg_get_page_of_frame(), ogg_seek_to_keyframe(), ogg_seek_to_sample(), open_file(), read_frame(), read_samples(), reset_parameters_derived(), write_audio_page(), write_frames_theora(), write_samples_vorbis(), write_video_page(), and ~FileOGG(). |
|
|
Definition at line 149 of file fileogg.h. Referenced by open_file(). |
|
|
Definition at line 152 of file fileogg.h. Referenced by ogg_seek_to_keyframe(), and open_file(). |
1.4.4