From e2de64d6f1beb9e492daf5b886e19933c1fa41dd Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdemultimedia@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- mpeglib/lib/splay/mpegAudioFrame.h | 66 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 mpeglib/lib/splay/mpegAudioFrame.h (limited to 'mpeglib/lib/splay/mpegAudioFrame.h') diff --git a/mpeglib/lib/splay/mpegAudioFrame.h b/mpeglib/lib/splay/mpegAudioFrame.h new file mode 100644 index 00000000..8b4f6c4f --- /dev/null +++ b/mpeglib/lib/splay/mpegAudioFrame.h @@ -0,0 +1,66 @@ +/* + converts raw mpeg audio stream data into mpeg I encoded audio frames/packets + Copyright (C) 2001 Martin Vogt + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU Library General Public License as published by + the Free Software Foundation. + + For more information look at the file COPYRIGHT in this package + + */ + + + +#ifndef __MPEGAUDIOFRAME_H +#define __MPEGAUDIOFRAME_H + +#include "mpegAudioHeader.h" +#include "../frame/framer.h" +#include + +/* + Here we are framing from raw to mpeg audio. +*/ + + + + +class KDE_EXPORT MpegAudioFrame : public Framer { + + // max size of buffer is: + // header: 4 + // max bitrate: 448 + // min freq: 22050 + // padding: 1 + // ------------------ + // maxsize: 4+144000*max(bitrate)/min(freq)+1 ca: 2931 byte + // then we add a "sentinel" at the end these are 4 byte. + // so we should be ok, with a 4KB buffer. + + // internal, how much data we need to read + int framesize; + + // internall, for header searching + int find_frame_state; + + // internal use for header parsing+validating + MpegAudioHeader* mpegAudioHeader; + + public: + MpegAudioFrame(); + ~MpegAudioFrame(); + + + private: + + int find_frame(RawDataBuffer* input,RawDataBuffer* store); + int read_frame(RawDataBuffer* input,RawDataBuffer* store); + + void unsync(RawDataBuffer* store,int lReset); + void printPrivateStates(); + +}; + + +#endif -- cgit v1.2.1