www.pudn.com > MPEG2systemsrc.rar > TSConsumer.H


/* Copyright (C) 1995, Tektronix Inc. All Rights Reserved.
 *
 *   Usage Restrictions
 *
 * License is granted to copy, to use, and to make and to use derivative
 * works for research and evaluation purposes only.
 *
 *   Disclaimer of Warranty
 *
 * These software programs are available to the user without any license
 * fee or royalty on an "as is" basis.  Tektronix Inc. disclaims any and
 * all warranties, whether express, implied, or statuary, including any
 * implied warranties or merchantability or of fitness for a particular
 * purpose.  In no event shall the copyright-holder be liable for any 
 * incidental, punitive, or consequential damages of any kind whatsoever
 * arising from the use of these programs.
 *
 * This disclaimer of warranty extends to the user of these programs and
 * user's customers, employees, agents, transferees, successors, and
 * assigns.
 *
 * The Tektronix Inc. does not represent or warrant that the programs
 * furnished hereunder are free of infringement of any third-party
 * patents.
*/

/* TSConsumer class */
#ifndef tsconsumer_h
#define tsconsumer_h

#include "Consumer.H"
#include "TS.H"
#include "Decoder.H"

class TSConsumer : public Consumer
{
public:
  TSConsumer (Decoder*, TS*);
  TS* ts;
  void read_ts_packet ();
private:
  void read_sync ();
  void read_adaptation ();
  void read_payload ();
};

/*
 DOCUMENTATION

 TSConsumers read transport packets from InputPorts with calls to the
 member read_ts_packet.

 Public members are:

  TSConsumer (Decoder*, TS*);
    The only constructor.

  TS* ts; ts is set during the parse of the ts packet to reflect the
    structure of the packet. Thus an application can call
    read_ts_packet and then examine the ts member to determine the
    structure of the packet.

  void read_ts_packet ();
    This function reads and parses a transport packet from iport.

*/
#endif