source: svn/trunk/newcon3bcm2_21bu/BSEAV/lib/scte_127/scte_127_test.c

Last change on this file was 2, checked in by jglee, 11 years ago

first commit

  • Property svn:executable set to *
File size: 2.6 KB
Line 
1/***************************************************************
2**
3** Broadcom Corp. Confidential
4** Copyright 2002 Broadcom Corp. All Rights Reserved.
5**
6** THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED
7** SOFTWARE LICENSE AGREEMENT BETWEEN THE USER AND BROADCOM.
8** YOU HAVE NO RIGHT TO USE OR EXPLOIT THIS MATERIAL EXCEPT
9** SUBJECT TO THE TERMS OF SUCH AN AGREEMENT.
10**
11** Description: Tool to convert binary file to an ASCII byte array
12**
13** Created: 3/20/2008 LiQun Ruan
14**      To verify SCTE127 packet
15**
16**
17****************************************************************/
18
19#include <stdio.h>
20#include <stdlib.h>
21#include <string.h>
22#include "pes_scte_127.h"
23
24
25extern unsigned char g_scte127_pkt_1[];
26extern unsigned int g_scte127_pkt_1_size;
27extern unsigned char g_scte127_pkt_2[];
28extern unsigned int g_scte127_pkt_2_size;
29extern unsigned char g_scte127_pkt_3[];
30extern unsigned int g_scte127_pkt_3_size;
31extern unsigned char g_scte127_pkt_4[];
32extern unsigned int g_scte127_pkt_4_size;
33
34void print_usage(char *argv[])
35{
36        printf("Usage:  %s [options]\n",argv[0]);
37        printf("  Verify the PES and SCTE 127 parser.\n");
38        printf("  -h            Usage information.\n");
39        printf("  -p val        packet id (0/1/2/3)\n");
40}
41
42/****************************************************************
43* INPUTS:               arc     argument count
44*                       argv    array of arguments
45*
46* OUTPUTS:              none
47* RETURNS:              non-zero on failure
48* DESCRIPTION:          Main entry point for test application
49*
50****************************************************************/
51int main(int argc, char *argv[])
52{
53        int i, j, len, packetId = 0;
54        unsigned char *ptr;
55
56        if (argc >= 2)
57        {
58                /* Parse arguments */
59                for (i = 1; i < argc; ++i)
60                {
61                        if ((strcmp(argv[i],"-h") == 0) || (strcmp(argv[i],"-H") == 0))
62                        {
63                                print_usage(argv);
64                                return 0;
65                        }
66                        /* packetId */
67                        if ((strcmp(argv[i],"-p") == 0) || (strcmp(argv[i],"-P") == 0)) {
68                                if (( i + 1) <= argc) {
69                                        packetId = atoi(argv[i+1]);
70                                        break;
71                                }
72                        }
73                }
74        }
75
76        switch (packetId)
77        {
78                default:
79                case 0:
80                        printf("Parsing SCTE 127 PES Packet 1\n");
81                        ptr = g_scte127_pkt_1;
82                        len = g_scte127_pkt_1_size;
83                        break;
84
85                case 1:
86                        printf("Parsing SCTE 127 PES Packet 2\n");
87                        ptr = g_scte127_pkt_2;
88                        len = g_scte127_pkt_2_size;
89                        break;
90
91                case 2:
92                        printf("Parsing SCTE 127 PES Packet 2\n");
93                        ptr = g_scte127_pkt_3;
94                        len = g_scte127_pkt_3_size;
95                        break;
96
97                case 3:
98                        printf("Parsing SCTE 127 PES Packet 3\n");
99                        ptr = g_scte127_pkt_4;
100                        len = g_scte127_pkt_4_size;
101        }       
102        ptr = pes_parser(ptr, &len);
103        if (ptr) {
104                if (!pes_data_field_parser(ptr, len))
105                        printf("Partially Invalid packet\n");
106        }
107        else {
108                printf("Invalid packet\n");
109        }       
110
111        return 0;
112}
113
Note: See TracBrowser for help on using the repository browser.