MHEG-5  19.3.0
MHEG-5 Documentation
fpa1_prg.c
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright © 2004 Ocean Blue Software Ltd
4  * Copyright © 2000 Koninklijke Philips Electronics N.V
5  *
6  * This file is part of a DTVKit Software Component
7  * You are permitted to copy, modify or distribute this file subject to the terms
8  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
9  *
10  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
11  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
12  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
13  *
14  * If you or your organisation is not a member of DTVKit then you have access
15  * to this source code outside of the terms of the licence agreement
16  * and you are expected to delete this and any associated files immediately.
17  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
18  *******************************************************************************/
27 /*---includes for this file--------------------------------------------------*/
28 #include <stdio.h>
29 #include <stdlib.h>
30 
31 #include "vpa1_tgs.h"
32 #include "vpa1_rdf.h"
33 
34 #include "fpa1_prg.h"
35 #include "fpa1_set.h"
36 #include "fpa1_syn.h"
37 
38 /*******************
39  * LOCAL TYPEDEFS *
40  ********************/
41 
42 /*******************
43  * LOCAL MACROS *
44  ********************/
45 #define RES_PROG_SET_COMPS 5
46 #define REM_PROG_SET_COMPS 6
47 #define ITC_PROG_SET_COMPS 7
48 
49 /*******************
50  * EXPORTED DATA *
51  ********************/
52 
53 /*******************
54  * STATIC DATA *
55  ********************/
56 
57 int resPrgSetCompsArr[ 2 * RES_PROG_SET_COMPS + 1 ]
58  = { 2 * RES_PROG_SET_COMPS, /* array limit */
59  /* Ingredient */
60  OBJECT_REFERENCE_TYPE, SYN_NEEDED,
61  INITACTIVE, SYN_DEFAULT, /* NEEDED? */
62  SHARED, SYN_DEFAULT,
63  /* Program */
64  NAME, SYN_NEEDED,
65  INITAVAIL, SYN_DEFAULT };
66 
67 int remPrgSetCompsArr[ 2 * REM_PROG_SET_COMPS + 1 ]
68  = { 2 * REM_PROG_SET_COMPS, /* array limit */
69  /* Ingredient */
70  OBJECT_REFERENCE_TYPE, SYN_NEEDED,
71  INITACTIVE, SYN_DEFAULT, /* NEEDED? */
72  SHARED, SYN_DEFAULT,
73  /* Program */
74  NAME, SYN_NEEDED,
75  INITAVAIL, SYN_DEFAULT,
76  /* RemoteProgram */
77  PRGCONTAG, SYN_OPTIONAL };
78 
79 int itcPrgSetCompsArr[ 2 * ITC_PROG_SET_COMPS + 1 ]
80  = { 2 * ITC_PROG_SET_COMPS, /* array limit */
81  /* Ingredient */
82  OBJECT_REFERENCE_TYPE, SYN_NEEDED,
83  INITACTIVE, SYN_DEFAULT, /* NEEDED? */
84  CHOOK, SYN_OPTIONAL,
85  OCONTENT, SYN_NEEDED,
86  SHARED, SYN_DEFAULT,
87  /* Program */
88  NAME, SYN_NEEDED,
89  INITAVAIL, SYN_DEFAULT };
90 
91 
92 /**********************
93  * FUNCTION PROTOTYPES *
94  ***********************/
95 
102 fpa1_syntaxList* fpa1_decodeResidentProgram( vpa1_filePos filePosLimit )
103 {
104  return fpa1_setParse( resPrgSetCompsArr, filePosLimit );
105 } /* fpa1_decodeResidentProgram () */
106 
113 fpa1_syntaxList* fpa1_decodeRemoteProgram( vpa1_filePos filePosLimit )
114 {
115  return fpa1_setParse( remPrgSetCompsArr, filePosLimit );
116 } /* fpa1_decodeRemoteProgram () */
117 
124 fpa1_syntaxList* fpa1_decodeInterchangedProgram( vpa1_filePos filePosLimit )
125 {
126  return fpa1_setParse( itcPrgSetCompsArr, filePosLimit );
127 } /* fpa1_decodeInterchangedProgram () */
128 
fpa1_syntaxList * fpa1_setParse(int *, vpa1_filePos)
Definition: fpa1_set.c:178
fpa1_syntaxList * fpa1_decodeInterchangedProgram(vpa1_filePos filePosLimit)
Definition: fpa1_prg.c:124
Contains functions/structure used to do MHEG-5 ASN.1 syntax parsing.
Typedefs for script reading functions.
Contains macros for MHEG-5 ASN.1 tags and structures.
fpa1_syntaxList * fpa1_decodeResidentProgram(vpa1_filePos filePosLimit)
Definition: fpa1_prg.c:102
fpa1_syntaxList * fpa1_decodeRemoteProgram(vpa1_filePos filePosLimit)
Definition: fpa1_prg.c:113
Contains functions used to parse MHEG-5 ASN.1 SETs. SETs can have components in any order and as such...
Contains functions to decode MHEG-5 ASN.1 Program, Resident Program, Remote Program and Interchanged ...