Source: mediainfo.h


Annotated List
Files
Globals
Hierarchy
Index
// ##########################################################################
// ####                                                                  ####
// ####                      RTP Audio Server Project                    ####
// ####                    ============================                  ####
// ####                                                                  ####
// #### Media Info                                                       ####
// ####                                                                  ####
// #### Version 1.00  --  February 04, 2001                              ####
// ####                                                                  ####
// #### Copyright (C) 1999  Thomas Dreibholz                             ####
// ####               2000  Universität Bonn, Abt. IV                    ####
// ####               2001  EMail: Dreibholz@bigfoot.com                 ####
// ####                     WWW:   http://www.bigfoot.com/~dreibholz     ####
// ####                                                                  ####
// ##########################################################################


#ifndef MEDIAINFO_H
#define MEDIAINFO_H


#include "tools.h"


namespace Coral {


/**
  * Definition of encoder errors.
  */
enum MediaError
{
   ME_NoError            = 0,
   ME_NoMedia            = 1,
   ME_EOF                = 2,

   ME_UnrecoverableError = 20,
   ME_BadMedia           = ME_UnrecoverableError + 0,
   ME_ReadError          = ME_UnrecoverableError + 1,
   ME_OutOfMemory        = ME_UnrecoverableError + 2,
};


/**
  * Constant for position steps per second: 1 step = 1 nanosecond;
  */
const card64 PositionStepsPerSecond = (card64)1000000000;



/**
  * This class contains information on a media.
  *
  * @short   Media Info
  * @author  Thomas Dreibholz (Dreibholz@bigfoot.com)
  * @version 1.0
  */
class MediaInfo
{
   // ====== Constructor ====================================================
   /**
     * Constructor.
     */
   public:
   MediaInfo();


   // ====== Reset ==========================================================
   /**
     * Reset.
     */
   void reset();


   /**
     * Translate byte order.
     */
   void translate();


   // ====== MediaInfo data =================================================
   /**
     * Start time stamp of the media.
     */
   card64 StartTimeStamp;

   /**
     * End time stamp of the media.
     */
   card64 EndTimeStamp;


   /**
     * Constant for the maximum title length.
     */
   static const cardinal MaxTitleLength   = 47;

   /**
     * Constant for the maximum author length.
     */
   static const cardinal MaxArtistLength  = 47;

   /**
     * Constant for the maximum comment length.
     */
   static const cardinal MaxCommentLength = 47;


   /**
     * Title string.
     */
   char Title[MaxTitleLength + 1];

   /**
     * Artist string.
     */
   char Artist[MaxArtistLength + 1];

   /**
     * Comment string.
     */
   char Comment[MaxCommentLength + 1];
};


/**
  * Output operator.
  */
ostream& operator<<(ostream& os, const MediaInfo& mi);


}


#endif

Generated by: viper@odin on Sun Feb 4 18:54:51 2001, using kdoc 2.0a22.