⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 descriptor.c

📁 dvbsnoop is a DVB/MPEG stream analyzer program. The program can be used to sniff, monitor, debug, d
💻 C
字号:
/*$Id: descriptor.c,v 1.29 2004/11/03 21:00:50 rasc Exp $ DVBSNOOP a dvb sniffer  and mpeg2 stream analyzer tool http://dvbsnoop.sourceforge.net/ (c) 2001-2004   Rainer.Scherg@gmx.de (rasc) -- Descriptors $Log: descriptor.c,v $Revision 1.29  2004/11/03 21:00:50  rasc - New: "premiere.de" private tables and descriptors (tnx to Peter.Pavlov, Premiere) - New: cmd option "-privateprovider <provider name>" - New: Private provider sections and descriptors decoding - Changed: complete restructuring of private descriptors and sectionsRevision 1.28  2004/09/01 20:20:34  rascnew cmdline option: -buffersize KB  (set demux buffersize in KBytes)Revision 1.27  2004/08/06 22:21:38  rascNew: TV-Anytime (TS 102 323) RNT descriptors 0x40 - 0x42Revision 1.26  2004/07/26 20:58:03  rascRNT completed..  (TS 102 323)Revision 1.25  2004/07/25 20:12:58  rasc - New: content_identifier_descriptor (TS 102 323) - New: TVA_id_descriptor (TS 102 323) - New: related_content_descriptor (TS 102 323) - New: default_authority_descriptor (TS 102 323)Revision 1.24  2004/07/24 11:44:44  rascEN 301 192 update - New: ECM_repetition_rate_descriptor (EN 301 192 v1.4.1) - New: time_slice_fec_identifier_descriptor (EN 301 192 v1.4.1) - New: Section MPE_FEC  EN 301 192 v1.4 - BugfixesRevision 1.23  2004/02/07 01:28:01  rascMHP Application  Information Tablesome AIT descriptorsRevision 1.22  2004/01/25 21:37:27  rascbugfixes, minor changes & enhancmentsRevision 1.21  2004/01/12 23:05:24  rascno messageRevision 1.20  2004/01/11 21:01:31  rascPES stream directory, PES restructuredRevision 1.19  2004/01/03 00:30:06  rascDSM-CC  STREAM descriptors module (started)Revision 1.18  2004/01/02 22:59:58  rascDSM-CC  modules renaming...Revision 1.17  2004/01/02 22:25:35  rascDSM-CC  MODULEs descriptors completeRevision 1.16  2004/01/02 16:40:34  rascDSM-CC  INT/UNT descriptors completeminor changes and fixesRevision 1.15  2004/01/01 20:31:22  rascPES program stream map, minor descriptor cleanupRevision 1.14  2004/01/01 20:09:19  rascDSM-CC INT/UNT descriptorsPES-sync changed, TS sync changed,descriptor scopeother changesRevision 1.13  2003/12/29 22:14:53  rascmore dsm-cc INT UNT descriptorsRevision 1.12  2003/10/24 22:45:04  rasccode reorg...Revision 1.11  2003/10/24 22:17:14  rasccode reorg...Revision 1.10  2003/10/13 23:27:35  rascBugfix, verbose < 4 segfaulted, tnx to 'mws'  for reporting.Revision 1.9  2003/07/08 19:59:50  rascrestructuring... some new, some fixes,trying to include DSM-CC, Well someone a ISO13818-6 and latest version of ISO 18313-1 to spare?Revision 1.8  2003/06/24 23:51:03  rascbugfixes and enhancementsRevision 1.7  2003/05/03 02:51:08  obiskip descriptors with length == 0Revision 1.6  2003/03/17 16:15:11  obifixed infinite loopthanks to Johannes StezenbachRevision 1.5  2002/09/29 13:01:35  wjoostkleiner Fehler*/#include "dvbsnoop.h"#include "descriptor.h"#include "mpeg_descriptor.h"#include "dvb_descriptor.h"#include "dsmcc_carousel_descriptor.h"#include "dsmcc_int_unt_descriptor.h"#include "mhp_ait_descriptor.h"#include "tva_rnt_descriptor.h"#include "misc/hexprint.h"#include "misc/output.h"/*  determine descriptor type and print it...  return byte length*/int  descriptor  (u_char *b, DTAG_SCOPE scope){ int len; int id;  id  =  (int)b[0];    len = ((int)b[1]) + 2;  // nothing to print here?   // well, I guess all descriptors need a verbosity >=4...  if (getVerboseLevel() < 4) return len;  indent (+1);  switch  (scope) {     case DSMCC_STREAM:  		descriptorMPEG (b); 		break;     case DSMCC_CAROUSEL:  		descriptorDSMCC_CAROUSEL (b);		break;     case DSMCC_INT_UNT:	// EN 301 192, TS 102 006  		if (id < 0x40)	descriptorDSMCC_INT_UNT (b);		else 		descriptorDVB (b);		break;     case MHP_AIT:		descriptorMHP_AIT (b);		break;     case TVA_RNT:		// TS 102 323  		if (id < 0x40)	descriptorMPEG (b);		else		descriptorTVA (b);		break;     case MPEG:     case DVB_SI:     default:  		if (id < 0x40)	descriptorMPEG (b);		else	 	descriptorDVB (b);		break;  }  indent (-1);  return len;   // (descriptor total length)}/*  Any  descriptor  (Basic Descriptor output)  ETSI 300 468 // ISO 13818-1*/void descriptor_any (u_char *b){ int  len; // tag		 = b[0]; len       	 = b[1]; print_databytes (4,"Descriptor-data:", b+2, len);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -