// VERSION = "1.000"
//
// Standard C code loaded outside XS space. Contains useful routines used by ts TS infofunctions
//========================================================================================================
// INFO
//========================================================================================================
//---------------------------------------------------------------------------------------------------------
// Create tsreader then get video duration. Returns info in tsreader struct that must be free-d externally
//
// TODO: Decode PAT etc
//
struct TS_reader *tsinfo(char *filename, struct TS_settings *settings)
{
int file;
struct TS_reader *tsreader ;
tsreader = tsreader_new(filename) ;
if (!tsreader)
{
//fprintf(stderr,"ERROR %s: %s\n",filename,dvb_error_str(dvb_error_code));
return(NULL);
}
// only support the following standard settings - NO CALLBACKS (so no need for hook data)!
tsreader->debug = settings->debug ;
// parse data - start
tsreader_setpos(tsreader, 0, SEEK_SET, 1300) ;
ts_parse(tsreader) ;
// parse data - end
tsreader_setpos(tsreader, -1300, SEEK_END, 1300) ;
ts_parse(tsreader) ;
// update the timing
tsreader_set_timing(tsreader) ;
return tsreader ;
}