Source: traceencoderinterface.h


Annotated List
Files
Globals
Hierarchy
Index
// ##########################################################################
// ####                                                                  ####
// ####                    Master Thesis Implementation                  ####
// ####  Management of Layered Variable Bitrate Multimedia Streams over  ####
// ####                  DiffServ with A Priori Knowledge                ####
// ####                                                                  ####
// #### ================================================================ ####
// ####                                                                  ####
// ####                                                                  ####
// #### Trace Encoder Interface                                          ####
// ####                                                                  ####
// #### Version 1.00  --  October 10, 2000                               ####
// ####                                                                  ####
// #### Copyright (C) 2000 Thomas Dreibholz                              ####
// #### University of Bonn, Department of Computer Science IV            ####
// #### EMail: Dreibholz@bigfoot.com                                     ####
// #### WWW:   http://www.bigfoot.com/~dreibholz/diplom/index.html       ####
// ####                                                                  ####
// ##########################################################################



#ifndef TRACEENCODERINTERFACE_H
#define TRACEENCODERINTERFACE_H


#include "system.h"
#include "encoderinterface.h"
#include "mediainfo.h"


namespace Coral {


/**
  * This class is the interface for a trace encoder.
  *
  * @short   Trace Encoder Interface
  * @author  Thomas Dreibholz (Dreibholz@bigfoot.com)
  * @version 1.0
  */
class TraceEncoderInterface : virtual public EncoderInterface
{
   public:
   /**
     * Get wanted utilization.
     *
     * @return Wanted utilization (out of [0,1]).
     */
   virtual double getWantedUtilization() const = 0;

   /**
     * Set wanted utilization.
     *
     * @param utilization Wanted utilization (out of [0,1]).
     */
   virtual void setWantedUtilization(const double utilization) = 0;

   /**
     * Get stream priority.
     *
     * @return Stream priority.
     */
   virtual int8 getStreamPriority() const = 0;

   /**
     * Set stream priority.
     *
     * @param priority Stream priority.
     */
   virtual void setStreamPriority(const int8 priority) = 0;

   /**
     * Get maximum wanted delay.
     *
     * @return Maximum wanted delay.
     */
   virtual double getMaxWantedDelay() const = 0;

   /**
     * Set maximum wanted delay.
     *
     * @param delay Maximum wanted delay.
     */
   virtual void setMaxWantedDelay(const double delay) = 0;

   /**
     * Get minimum wanted bandwidth.
     *
     * @return Minimum wanted bandwidth.
     */
   virtual cardinal getMinWantedBandwidth() const = 0;

   /**
     * Get maximum wanted bandwidth.
     *
     * @return Maximum wanted bandwidth.
     */
   virtual cardinal getMaxWantedBandwidth() const = 0;

   /**
     * Set minimum wanted bandwidth.
     *
     * @param wanted bandwidth Minimum wanted bandwidth.
     */
   virtual void setMinWantedBandwidth(const cardinal bandwidth) = 0;

   /**
     * Set maximum wanted bandwidth.
     *
     * @param wanted bandwidth Maximum wanted bandwidth.
     */
   virtual void setMaxWantedBandwidth(const cardinal bandwidth) = 0;
};


}


#endif

Generated by: viper@odin on Mon Oct 16 11:49:26 2000, using kdoc 2.0a36.