Hauptseite   Klassenhierarchie   Alphabetische Liste   Übersicht   Auflistung der Dateien   Elementübersicht  

A_Codec.h

00001 /********************************************************************\
00002 *****   Basisklasse für Audio-Codec                              *****
00003 \********************************************************************/
00004 
00005 #ifndef _AUDIO_CODEC_H_
00006 #define _AUDIO_CODEC_H_
00007 
00008 #include <sys/types.h>
00009 
00010 #include "Codec.h"
00011 #include "A_Format.h"
00012 
00013 //class VideoFile;
00014 class A_Track;
00015 class VideoFile;
00016 // class Codec;
00017 
00022 class A_Codec: public Codec, public A_Format {
00023 public:
00024     A_Codec( A_Track *Track );
00025 
00026     virtual ~A_Codec();
00027 
00032     virtual int encodeAudio( int16_t **daten, int samples );
00033 
00038     virtual int encodeAudio( float **daten, int samples );
00039 
00043     virtual int decodeAudio( int16_t **&daten, int samples );
00044 
00048     virtual int decodeAudio( float **&daten, int samples );
00049 
00052     virtual int SeekSample( int64_t sample );
00053 
00056     virtual int SeekTime( double seconds );
00057 
00061     virtual double BitsPerSecond( void ) { return 0; }
00062 
00065     A_Track *Track( void ) { return track; }
00066 
00067 protected:
00070     virtual int encode( float **daten, int sampels );
00071 
00074     virtual int decode( float **daten, int sampels );
00075 
00076     A_Track *track;
00077 
00078 private:
00079     // interne Puffer-Verwaltung
00080 
00084     void alloc_buffers( long len );
00085 
00088     int16_t **sample_puffer_int16;
00089 
00092     float **sample_puffer_float;
00093 
00096     long sample_puffer_len;
00097 
00100     int sample_puffer_channels;
00101 
00102 
00103 };
00104 
00105 
00106 #endif

Erzeugt am Tue Dec 31 22:54:54 2002 für av_convert von doxygen1.2.9.1 geschrieben von Dimitri van Heesch, © 1997-2001