view libmpdemux/stream_null.c @ 17566:f580a7755ac5

Patch by Stefan Huehner / stefan % huehner ! org \ patch replaces '()' for the correct '(void)' in function declarations/prototypes which have no parameters. The '()' syntax tell thats there is a variable list of arguments, so that the compiler cannot check this. The extra CFLAG '-Wstrict-declarations' shows those cases. Comments about a similar patch applied to ffmpeg: That in C++ these mean the same, but in ANSI C the semantics are different; function() is an (obsolete) K&R C style forward declaration, it basically means that the function can have any number and any types of parameters, effectively completely preventing the compiler from doing any sort of type checking. -- Erik Slagter Defining functions with unspecified arguments is allowed but bad. With arguments unspecified the compiler can't report an error/warning if the function is called with incorrect arguments. -- M\ns Rullg\rd
author rathann
date Thu, 09 Feb 2006 14:08:03 +0000
parents 233802490b0e
children
line wrap: on
line source


#include "config.h"

#include <stdlib.h>
#include <string.h>

#include "stream.h"
#include "demuxer.h"

#ifdef USE_TV
extern char* tv_param_channel;
#endif


static int open_s(stream_t *stream,int mode, void* opts, int* file_format) {
  stream->type = STREAMTYPE_DUMMY;

  if(strncmp("mf://",stream->url,5) == 0) {
    *file_format =  DEMUXER_TYPE_MF;
  } 
#ifdef USE_TV
  else if (strncmp("tv://",stream->url,5) == 0) {
    *file_format =  DEMUXER_TYPE_TV;
    if(stream->url[5] != '\0')
      tv_param_channel = strdup(stream->url + 5);
  }
#endif
  return 1;
}


stream_info_t stream_info_null = {
  "Null stream",
  "null",
  "Albeu",
  "",
  open_s,
  { 
#ifdef USE_TV
"tv", 
#endif
"mf", "null", NULL },
  NULL,
  0 // Urls are an option string
};