www.pudn.com > MPEG2systemsrc.rar > Section.C


/* 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.
*/

/* Section class implementation */

#include "Section.H"

extern "C"
{
#include 
}

Section::Section ()
{
}

void Section::print_a ()
{
  printf("pointer: %d\n", pointer);
  printf("table_id: %d\n", table_id);
  printf("section_syntax_indicator: %c\n", section_syntax_code);
  printf("section_length: %d\n", section_length);
}

void Section::print_b ()
{
  printf("version_number: %d\n", version_number);    
  printf("current_next_indicator: %c\n", current_next_code);
  printf("section_number: %d\n", section_number);
  printf("last_section_number: %d\n", last_section_number);
}

PATSection::PATSection () : Section ()
{
}

void PATSection::print ()
{
  printf("PAT Section\n");

  print_a();

  printf("transport_stream_id = %d\n", transport_stream_id);
  
  print_b();
}

MapSection::MapSection (Program* p) : Section ()
{
  program = p;
  if (p->pcr_estream) pcr_pid = p->pcr_estream->pid;
  else pcr_pid = UNASSIGNED;
  program_number = p->program_number;
}

void MapSection::print ()
{
  printf("Map Section\n");

  print_a();

  printf("program_number = %d\n", program_number);
  
  print_b();

  printf("pcr_pid = %d\n", pcr_pid);
  printf("program_info_length = %d\n", program_info_length);
}

CASection::CASection () : Section ()
{
}

void CASection::print ()
{
  printf("CA Section\n");

  print_a();

  print_b();

  // FIX -- print Section loops
  printf("print CA Section loop\n");
}

PriSection::PriSection () : Section ()
{
}