Diffstat (limited to 'core/multimedia/opieplayer/libflash/libflashplugin.h') (more/less context) (show whitespace changes)
-rw-r--r-- | core/multimedia/opieplayer/libflash/libflashplugin.h | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/core/multimedia/opieplayer/libflash/libflashplugin.h b/core/multimedia/opieplayer/libflash/libflashplugin.h new file mode 100644 index 0000000..532bca2 --- a/dev/null +++ b/core/multimedia/opieplayer/libflash/libflashplugin.h | |||
@@ -0,0 +1,96 @@ | |||
1 | /********************************************************************** | ||
2 | ** Copyright (C) 2001 Trolltech AS. All rights reserved. | ||
3 | ** | ||
4 | ** This file is part of Qtopia Environment. | ||
5 | ** | ||
6 | ** This file may be distributed and/or modified under the terms of the | ||
7 | ** GNU General Public License version 2 as published by the Free Software | ||
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | ||
9 | ** packaging of this file. | ||
10 | ** | ||
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | ||
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
13 | ** | ||
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | ||
15 | ** | ||
16 | ** Contact info@trolltech.com if any conditions of this licensing are | ||
17 | ** not clear to you. | ||
18 | ** | ||
19 | **********************************************************************/ | ||
20 | #ifndef LIBFLASH_PLUGIN_H | ||
21 | #define LIBFLASH_PLUGIN_H | ||
22 | |||
23 | |||
24 | #include <qstring.h> | ||
25 | #include <qapplication.h> | ||
26 | #include "flash.h" | ||
27 | #include "mediaplayerplugininterface.h" | ||
28 | |||
29 | |||
30 | class LibFlashPlugin : public MediaPlayerDecoder { | ||
31 | |||
32 | public: | ||
33 | LibFlashPlugin(); | ||
34 | ~LibFlashPlugin() { close(); } | ||
35 | |||
36 | const char *pluginName() { return "LibFlashPlugin: " PLUGIN_NAME " " FLASH_VERSION_STRING; } | ||
37 | const char *pluginComment() { return "This is the libflash library: " PLUGIN_NAME " " FLASH_VERSION_STRING; } | ||
38 | double pluginVersion() { return 1.0; } | ||
39 | |||
40 | bool isFileSupported( const QString& fileName ) { return fileName.right(4) == ".swf"; } | ||
41 | bool open( const QString& fileName ); | ||
42 | bool close() { FlashClose( file ); file = NULL; return TRUE; } | ||
43 | bool isOpen() { return file != NULL; } | ||
44 | const QString &fileInfo() { return strInfo = qApp->translate( "MediaPlayer", "No Information Available", "media plugin text" ); } | ||
45 | |||
46 | // If decoder doesn't support audio then return 0 here | ||
47 | int audioStreams() { return 1; } | ||
48 | int audioChannels( int /*stream*/ ) { return 2; } | ||
49 | int audioFrequency( int /*stream*/ ) { return 44100; } | ||
50 | int audioSamples( int /*stream*/ ) { return 1000000; } | ||
51 | bool audioSetSample( long sample, int stream ); | ||
52 | long audioGetSample( int stream ); | ||
53 | //bool audioReadMonoSamples( short *output, long samples, long& samplesRead, int stream ); | ||
54 | //bool audioReadStereoSamples( short *output, long samples, long& samplesRead, int stream ); | ||
55 | bool audioReadSamples( short *output, int channels, long samples, long& samplesRead, int stream ); | ||
56 | //bool audioReadSamples( short *output, int channel, long samples, int stream ); | ||
57 | //bool audioReReadSamples( short *output, int channel, long samples, int stream ); | ||
58 | |||
59 | // If decoder doesn't support video then return 0 here | ||
60 | int videoStreams(); | ||
61 | int videoWidth( int stream ); | ||
62 | int videoHeight( int stream ); | ||
63 | double videoFrameRate( int stream ); | ||
64 | int videoFrames( int stream ); | ||
65 | bool videoSetFrame( long frame, int stream ); | ||
66 | long videoGetFrame( int stream ); | ||
67 | bool videoReadFrame( unsigned char **output_rows, int in_x, int in_y, int in_w, int in_h, ColorFormat color_model, int stream ); | ||
68 | bool videoReadScaledFrame( unsigned char **output_rows, int in_x, int in_y, int in_w, int in_h, int out_w, int out_h, ColorFormat color_model, int stream ); | ||
69 | bool videoReadYUVFrame( char *y_output, char *u_output, char *v_output, int in_x, int in_y, int in_w, int in_h, int stream ); | ||
70 | |||
71 | // Profiling | ||
72 | double getTime(); | ||
73 | |||
74 | // Ignore if these aren't supported | ||
75 | bool setSMP( int cpus ); | ||
76 | bool setMMX( bool useMMX ); | ||
77 | |||
78 | // Capabilities | ||
79 | bool supportsAudio() { return TRUE; } | ||
80 | bool supportsVideo() { return TRUE; } | ||
81 | bool supportsYUV() { return TRUE; } | ||
82 | bool supportsMMX() { return TRUE; } | ||
83 | bool supportsSMP() { return TRUE; } | ||
84 | bool supportsStereo() { return TRUE; } | ||
85 | bool supportsScaling() { return TRUE; } | ||
86 | |||
87 | private: | ||
88 | FlashHandle file; | ||
89 | FlashDisplay *fd; | ||
90 | QString strInfo; | ||
91 | |||
92 | }; | ||
93 | |||
94 | |||
95 | #endif | ||
96 | |||