Theora Playback Library
1.0.0
Main Page
Classes
Files
File List
File Members
•
All
Classes
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
theoraplayer
include
theoraplayer
TheoraDataSource.h
Go to the documentation of this file.
1
/************************************************************************************
2
This source file is part of the Theora Video Playback Library
3
For latest info, see http://libtheoraplayer.sourceforge.net/
4
*************************************************************************************
5
Copyright (c) 2008-2013 Kresimir Spes (kspes@cateia.com)
6
This program is free software; you can redistribute it and/or modify it under
7
the terms of the BSD license: http://www.opensource.org/licenses/bsd-license.php
8
*************************************************************************************/
9
#ifndef _TheoraDataSource_h
10
#define _TheoraDataSource_h
11
12
#include <stdio.h>
13
#include <string>
14
#include "
TheoraExport.h
"
15
22
class
TheoraPlayerExport
TheoraDataSource
23
{
24
public
:
25
26
virtual
~
TheoraDataSource
();
31
virtual
int
read(
void
* output,
int
nBytes)=0;
33
virtual
std::string repr()=0;
35
virtual
void
seek(
unsigned
long
byte_index)=0;
37
virtual
unsigned
long
size()=0;
39
virtual
unsigned
long
tell()=0;
40
};
41
42
46
class
TheoraPlayerExport
TheoraFileDataSource
:
public
TheoraDataSource
47
{
48
FILE* mFilePtr;
49
std::string mFilename;
50
unsigned
long
mSize;
51
52
void
openFile();
53
public
:
54
TheoraFileDataSource
(std::string filename);
55
~
TheoraFileDataSource
();
56
57
int
read
(
void
* output,
int
nBytes);
58
void
seek
(
unsigned
long
byte_index);
59
std::string
repr
() {
return
mFilename; }
60
unsigned
long
size
();
61
unsigned
long
tell
();
62
63
std::string
getFilename
() {
return
mFilename; }
64
};
65
71
class
TheoraPlayerExport
TheoraMemoryFileDataSource
:
public
TheoraDataSource
72
{
73
std::string mFilename;
74
unsigned
long
mSize,mReadPointer;
75
unsigned
char
* mData;
76
public
:
77
TheoraMemoryFileDataSource
(std::string filename);
78
~
TheoraMemoryFileDataSource
();
79
80
int
read
(
void
* output,
int
nBytes);
81
void
seek
(
unsigned
long
byte_index);
82
std::string
repr
() {
return
"MEM:"
+mFilename; }
83
unsigned
long
size
();
84
unsigned
long
tell
();
85
std::string
getFilename
() {
return
mFilename; }
86
};
87
88
#endif
Generated by
1.8.3.1