summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/nullvideo.c
authorsimon <simon>2002-12-14 01:03:42 (UTC)
committer simon <simon>2002-12-14 01:03:42 (UTC)
commit8940bc946446352bea498b66c6a6d81002f0c405 (patch) (side-by-side diff)
tree93aa9e32da1414e95ecd7b80f7cce955298626d9 /noncore/multimedia/opieplayer2/nullvideo.c
parente9ff9ed56c1f198fb4d56cf2d57421e2183f9c3d (diff)
downloadopie-8940bc946446352bea498b66c6a6d81002f0c405.zip
opie-8940bc946446352bea498b66c6a6d81002f0c405.tar.gz
opie-8940bc946446352bea498b66c6a6d81002f0c405.tar.bz2
- preload a couple of decoders
Diffstat (limited to 'noncore/multimedia/opieplayer2/nullvideo.c') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/nullvideo.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/noncore/multimedia/opieplayer2/nullvideo.c b/noncore/multimedia/opieplayer2/nullvideo.c
index c988854..e2eb663 100644
--- a/noncore/multimedia/opieplayer2/nullvideo.c
+++ b/noncore/multimedia/opieplayer2/nullvideo.c
@@ -41,6 +41,7 @@
#include <xine/xine_internal.h>
#include <xine/xineutils.h>
#include <xine/vo_scale.h>
+#include <xine/buffer.h>
#include <pthread.h>
#include "alphablend.h"
@@ -612,3 +613,23 @@ void null_display_handler( xine_vo_driver_t* self, display_xine_frame_t t,
this->frameDis = t;
}
+void null_preload_decoders( xine_stream_t *stream )
+{
+ static const uint32_t preloadedAudioDecoders[] = { BUF_AUDIO_MPEG, BUF_AUDIO_VORBIS };
+ static const uint8_t preloadedAudioDecoderCount = sizeof( preloadedAudioDecoders ) / sizeof( preloadedAudioDecoders[ 0 ] );
+ static const uint32_t preloadedVideoDecoders[] = { BUF_VIDEO_MPEG, BUF_VIDEO_MPEG4, BUF_VIDEO_DIVX5 };
+ static const uint8_t preloadedVideoDecoderCount = sizeof( preloadedVideoDecoders ) / sizeof( preloadedVideoDecoders[ 0 ] );
+
+ uint8_t i;
+
+ for ( i = 0; i < preloadedAudioDecoderCount; ++i ) {
+ audio_decoder_t *decoder = get_audio_decoder( stream, ( preloadedAudioDecoders[ i ] >> 16 ) & 0xff );
+ free_audio_decoder( stream, decoder );
+ }
+
+ for ( i = 0; i < preloadedVideoDecoderCount; ++i ) {
+ video_decoder_t *decoder = get_video_decoder( stream, ( preloadedVideoDecoders[ i ] >> 16 ) & 0xff );
+ free_video_decoder( stream, decoder );
+ }
+}
+