ADUdescriptor Class Reference

#include <MP3ADUdescriptor.hh>


Static Public Member Functions

static unsigned computeSize (unsigned remainingFrameSize)
static unsigned generateDescriptor (unsigned char *&toPtr, unsigned remainingFrameSize)
static void generateTwoByteDescriptor (unsigned char *&toPtr, unsigned remainingFrameSize)
static unsigned getRemainingFrameSize (unsigned char *&fromPtr)


Detailed Description

Definition at line 26 of file MP3ADUdescriptor.hh.


Member Function Documentation

static unsigned ADUdescriptor::computeSize ( unsigned  remainingFrameSize  )  [inline, static]

Definition at line 29 of file MP3ADUdescriptor.hh.

Referenced by ADUFromMP3Source::doGetNextFrame1(), and generateDescriptor().

00029                                                            {
00030     return remainingFrameSize >= 64 ? 2 : 1;
00031   }

unsigned ADUdescriptor::generateDescriptor ( unsigned char *&  toPtr,
unsigned  remainingFrameSize 
) [static]

Definition at line 29 of file MP3ADUdescriptor.cpp.

References computeSize(), and generateTwoByteDescriptor().

Referenced by ADUFromMP3Source::doGetNextFrame1(), and SegmentQueue::insertDummyBeforeTail().

00030                                                                         {
00031   unsigned descriptorSize = ADUdescriptor::computeSize(remainingFrameSize);
00032   switch (descriptorSize) {
00033   case 1: {
00034     *toPtr++ = (unsigned char)remainingFrameSize;
00035     break;
00036   }
00037   case 2: {
00038     generateTwoByteDescriptor(toPtr, remainingFrameSize);
00039     break;
00040   }
00041   }
00042 
00043   return descriptorSize;
00044 }

void ADUdescriptor::generateTwoByteDescriptor ( unsigned char *&  toPtr,
unsigned  remainingFrameSize 
) [static]

Definition at line 46 of file MP3ADUdescriptor.cpp.

References TWO_BYTE_DESCR_FLAG.

Referenced by generateDescriptor(), and SegmentQueue::insertDummyBeforeTail().

00047                                                                            {
00048   *toPtr++ = (TWO_BYTE_DESCR_FLAG|(unsigned char)(remainingFrameSize>>8));
00049   *toPtr++ = (unsigned char)(remainingFrameSize&0xFF);
00050 }

unsigned ADUdescriptor::getRemainingFrameSize ( unsigned char *&  fromPtr  )  [static]

Definition at line 52 of file MP3ADUdescriptor.cpp.

References TWO_BYTE_DESCR_FLAG.

Referenced by DeinterleavingFrames::getIncomingFrameParamsAfter(), ADUBufferedPacket::nextEnclosedFrameSize(), InterleavingFrames::setFrameParams(), and SegmentQueue::sqAfterGettingCommon().

00052                                                                      {
00053   unsigned char firstByte = *fromPtr++;
00054 
00055   if (firstByte&TWO_BYTE_DESCR_FLAG) {
00056     // This is a 2-byte descriptor
00057     unsigned char secondByte = *fromPtr++;
00058 
00059     return ((firstByte&0x3F)<<8) | secondByte;
00060   } else {
00061     // This is a 1-byte descriptor
00062     return (firstByte&0x3F);
00063   }
00064 }


The documentation for this class was generated from the following files:
Generated on Tue Oct 7 15:39:31 2008 for live by  doxygen 1.5.2