File:  [DVB] / multiplexer / init.c
Revision 1.2: download - view: text, annotated - select for diffs
Tue Apr 3 21:14:33 2001 UTC (23 years, 2 months ago) by oskar
Branches: MAIN
CVS tags: HEAD
cleaning up.
buffer sizes now depend on split data type (video,audio,other).
new functions to unlink and remove streams from programs.
do not start dispatcher when command line is --help.
new command "crop" to remove program or stream from target.

/*
 * ISO 13818 stream multiplexer
 * Copyright (C) 2001 Convergence Integrated Media GmbH Berlin
 * Author: Oskar Schirmer (oskar@convergence.de)
 */

/*
 * Module:  Init
 * Purpose: Initialization and start the dispatcher loop.
 */

#include "global.h"
#include "crc.h"
#include "error.h"
#include "input.h"
#include "output.h"
#include "splice.h"
#include "command.h"
#include "dispatch.h"

int main(int argc,
    char *argv[])
{
  int a;
  global_init ();
  a = msec_now ();
  gen_crc_table ();
  if (input_init ()) {
    if (output_init ()) {
      if (splice_init ()) {
        if (dispatch_init ()) {
          if (command_init (argc,&argv[0])) {
            dispatch ();
/*
            warn (LDEB,"Global delta",EINI,0,0,global_delta);
            warn (LERR,"(No Error) Exit Time ",EINI,0,0,
              msec_now () - a);
            warn (LERR,"(No Error) Exit Clock",EINI,0,0,
              clock ()/(CLOCKS_PER_SEC/1000));
*/
          }
          exit (EXIT_SUCCESS);
        } else {
          warn (LERR,"Dispatch Fail",EINI,0,6,0);
        }
      } else {
        warn (LERR,"Splice Fail",EINI,0,5,0);
      }
    } else {
      warn (LERR,"Output Fail",EINI,0,4,0);
    }
  } else {
    warn (LERR,"Input Fail",EINI,0,3,0);
  }
  exit (EXIT_FAILURE);
}


LinuxTV legacy CVS <linuxtv.org/cvs>