2 * GPAC - Multimedia Framework C SDK
\r
4 * Copyright (c) Jean Le Feuvre 2000-2005
\r
5 * All rights reserved
\r
7 * This file is part of GPAC / MPEG-4 ObjectDescriptor sub-project
\r
9 * GPAC is free software; you can redistribute it and/or modify
\r
10 * it under the terms of the GNU Lesser General Public License as published by
\r
11 * the Free Software Foundation; either version 2, or (at your option)
\r
12 * any later version.
\r
14 * GPAC is distributed in the hope that it will be useful,
\r
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
\r
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
\r
17 * GNU Lesser General Public License for more details.
\r
19 * You should have received a copy of the GNU Lesser General Public
\r
20 * License along with this library; see the file COPYING. If not, write to
\r
21 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
\r
26 #ifndef _GF_OD_DEV_H_
\r
27 #define _GF_OD_DEV_H_
\r
29 #include <gpac/mpeg4_odf.h>
\r
31 /*read-write OD formatted strings*/
\r
32 GF_Err gf_odf_read_url_string(GF_BitStream *bs, char **string, u32 *readBytes);
\r
33 GF_Err gf_odf_write_url_string(GF_BitStream *bs, char *string);
\r
34 u32 gf_odf_size_url_string(char *string);
\r
36 /*descriptors base functions*/
\r
37 GF_Descriptor *gf_odf_create_descriptor(u8 tag);
\r
38 GF_Err gf_odf_delete_descriptor(GF_Descriptor *desc);
\r
39 GF_Err gf_odf_parse_descriptor(GF_BitStream *bs, GF_Descriptor **desc, u32 *size);
\r
40 GF_Err gf_odf_read_descriptor(GF_BitStream *bs, GF_Descriptor *desc, u32 DescSize);
\r
41 GF_Err gf_odf_write_base_descriptor(GF_BitStream *bs, u8 tag, u32 size);
\r
42 GF_Err gf_odf_write_descriptor(GF_BitStream *bs, GF_Descriptor *desc);
\r
43 GF_Err gf_odf_size_descriptor(GF_Descriptor *desc, u32 *outSize);
\r
44 GF_Err gf_odf_delete_descriptor_list(GF_List *descList);
\r
45 GF_Err gf_odf_write_descriptor_list(GF_BitStream *bs, GF_List *descList);
\r
46 GF_Err gf_odf_write_descriptor_list_filter(GF_BitStream *bs, GF_List *descList, u8 tag_only);
\r
47 GF_Err gf_odf_size_descriptor_list(GF_List *descList, u32 *outSize);
\r
49 /*handle lazy bitstreams where SizeOfInstance is always encoded on 4 bytes*/
\r
50 s32 gf_odf_size_field_size(u32 size_desc);
\r
52 GF_Err DumpDescList(GF_List *list, FILE *trace, u32 indent, const char *ListName, Bool XMTDump, Bool no_skip_empty);
\r
55 u32 gf_ipmpx_array_size(GF_BitStream *bs, u32 *array_size);
\r
56 void gf_ipmpx_write_array(GF_BitStream *bs, char *data, u32 data_len);
\r
58 /*QoS qualifiers base functions*/
\r
59 GF_Err gf_odf_parse_qos_qual(GF_BitStream *bs, GF_QoS_Default **qos_qual, u32 *qos_size);
\r
60 void gf_odf_delete_qos_qual(GF_QoS_Default *qos);
\r
61 GF_Err gf_odf_size_qos_qual(GF_QoS_Default *qos);
\r
62 GF_Err gf_odf_write_qos_qual(GF_BitStream *bs, GF_QoS_Default *qos);
\r
64 GF_Descriptor *gf_odf_new_iod();
\r
65 GF_Descriptor *gf_odf_new_esd();
\r
66 GF_Descriptor *gf_odf_new_dcd();
\r
67 GF_Descriptor *gf_odf_new_slc(u8 predef);
\r
68 GF_Descriptor *gf_odf_new_cc();
\r
69 GF_Descriptor *gf_odf_new_cc_date();
\r
70 GF_Descriptor *gf_odf_new_cc_name();
\r
71 GF_Descriptor *gf_odf_new_ci();
\r
72 GF_Descriptor *gf_odf_new_default();
\r
73 GF_Descriptor *gf_odf_new_esd_inc();
\r
74 GF_Descriptor *gf_odf_new_esd_ref();
\r
75 GF_Descriptor *gf_odf_new_exp_text();
\r
76 GF_Descriptor *gf_odf_new_pl_ext();
\r
77 GF_Descriptor *gf_odf_new_ipi_ptr();
\r
78 GF_Descriptor *gf_odf_new_ipmp();
\r
79 GF_Descriptor *gf_odf_new_ipmp_ptr();
\r
80 GF_Descriptor *gf_odf_new_kw();
\r
81 GF_Descriptor *gf_odf_new_lang();
\r
82 GF_Descriptor *gf_odf_new_isom_iod();
\r
83 GF_Descriptor *gf_odf_new_isom_od();
\r
84 GF_Descriptor *gf_odf_new_od();
\r
85 GF_Descriptor *gf_odf_new_oci_date();
\r
86 GF_Descriptor *gf_odf_new_oci_name();
\r
87 GF_Descriptor *gf_odf_new_pl_idx();
\r
88 GF_Descriptor *gf_odf_new_qos();
\r
89 GF_Descriptor *gf_odf_new_rating();
\r
90 GF_Descriptor *gf_odf_new_reg();
\r
91 GF_Descriptor *gf_odf_new_short_text();
\r
92 GF_Descriptor *gf_odf_new_smpte_camera();
\r
93 GF_Descriptor *gf_odf_new_sup_cid();
\r
94 GF_Descriptor *gf_odf_new_segment();
\r
95 GF_Descriptor *gf_odf_new_mediatime();
\r
96 GF_Descriptor *gf_odf_new_ipmp_tool_list();
\r
97 GF_Descriptor *gf_odf_new_ipmp_tool();
\r
98 GF_Descriptor *gf_odf_new_muxinfo();
\r
99 GF_Descriptor *gf_odf_New_ElemMask();
\r
100 GF_Descriptor *gf_odf_new_bifs_cfg();
\r
101 GF_Descriptor *gf_odf_new_ui_cfg();
\r
102 GF_Descriptor *gf_odf_new_laser_cfg();
\r
103 GF_Descriptor *gf_odf_new_auxvid();
\r
106 GF_Err gf_odf_del_iod(GF_InitialObjectDescriptor *iod);
\r
107 GF_Err gf_odf_del_esd(GF_ESD *esd);
\r
108 GF_Err gf_odf_del_dcd(GF_DecoderConfig *dcd);
\r
109 GF_Err gf_odf_del_slc(GF_SLConfig *sl);
\r
110 GF_Err gf_odf_del_cc(GF_CCDescriptor *ccd);
\r
111 GF_Err gf_odf_del_cc_date(GF_CC_Date *cdd);
\r
112 GF_Err gf_odf_del_cc_name(GF_CC_Name *cnd);
\r
113 GF_Err gf_odf_del_ci(GF_CIDesc *cid);
\r
114 GF_Err gf_odf_del_default(GF_DefaultDescriptor *dd);
\r
115 GF_Err gf_odf_del_esd_inc(GF_ES_ID_Inc *esd_inc);
\r
116 GF_Err gf_odf_del_esd_ref(GF_ES_ID_Ref *esd_ref);
\r
117 GF_Err gf_odf_del_exp_text(GF_ExpandedTextual *etd);
\r
118 GF_Err gf_odf_del_pl_ext(GF_PLExt *pld);
\r
119 GF_Err gf_odf_del_ipi_ptr(GF_IPIPtr *ipid);
\r
120 GF_Err gf_odf_del_ipmp(GF_IPMP_Descriptor *ipmp);
\r
121 GF_Err gf_odf_del_ipmp_ptr(GF_IPMPPtr *ipmpd);
\r
122 GF_Err gf_odf_del_kw(GF_KeyWord *kwd);
\r
123 GF_Err gf_odf_del_lang(GF_Language *ld);
\r
124 GF_Err gf_odf_del_isom_iod(GF_IsomInitialObjectDescriptor *iod);
\r
125 GF_Err gf_odf_del_isom_od(GF_IsomObjectDescriptor *od);
\r
126 GF_Err gf_odf_del_od(GF_ObjectDescriptor *od);
\r
127 GF_Err gf_odf_del_oci_date(GF_OCI_Data *ocd);
\r
128 GF_Err gf_odf_del_oci_name(GF_OCICreators *ocn);
\r
129 GF_Err gf_odf_del_pl_idx(GF_PL_IDX *plid);
\r
130 GF_Err gf_odf_del_qos(GF_QoS_Descriptor *qos);
\r
131 GF_Err gf_odf_del_rating(GF_Rating *rd);
\r
132 GF_Err gf_odf_del_reg(GF_Registration *reg);
\r
133 GF_Err gf_odf_del_short_text(GF_ShortTextual *std);
\r
134 GF_Err gf_odf_del_smpte_camera(GF_SMPTECamera *cpd);
\r
135 GF_Err gf_odf_del_sup_cid(GF_SCIDesc *scid);
\r
136 GF_Err gf_odf_del_segment(GF_Segment *sd);
\r
137 GF_Err gf_odf_del_mediatime(GF_MediaTime *mt);
\r
138 GF_Err gf_odf_del_ipmp_tool_list(GF_IPMP_ToolList *ipmptl);
\r
139 GF_Err gf_odf_del_ipmp_tool(GF_IPMP_Tool *ipmp);
\r
140 GF_Err gf_odf_del_muxinfo(GF_MuxInfo *mi);
\r
141 GF_Err gf_odf_del_bifs_cfg(GF_BIFSConfig *desc);
\r
142 GF_Err gf_odf_del_ui_cfg(GF_UIConfig *desc);
\r
143 GF_Err gf_odf_del_laser_cfg(GF_LASERConfig *desc);
\r
144 GF_Err gf_odf_del_auxvid(GF_AuxVideoDescriptor *ld);
\r
146 GF_Err gf_odf_read_iod(GF_BitStream *bs, GF_InitialObjectDescriptor *iod, u32 DescSize);
\r
147 GF_Err gf_odf_read_esd(GF_BitStream *bs, GF_ESD *esd, u32 DescSize);
\r
148 GF_Err gf_odf_read_dcd(GF_BitStream *bs, GF_DecoderConfig *dcd, u32 DescSize);
\r
149 GF_Err gf_odf_read_slc(GF_BitStream *bs, GF_SLConfig *sl, u32 DescSize);
\r
150 GF_Err gf_odf_read_cc(GF_BitStream *bs, GF_CCDescriptor *ccd, u32 DescSize);
\r
151 GF_Err gf_odf_read_cc_date(GF_BitStream *bs, GF_CC_Date *cdd, u32 DescSize);
\r
152 GF_Err gf_odf_read_cc_name(GF_BitStream *bs, GF_CC_Name *cnd, u32 DescSize);
\r
153 GF_Err gf_odf_read_ci(GF_BitStream *bs, GF_CIDesc *cid, u32 DescSize);
\r
154 GF_Err gf_odf_read_default(GF_BitStream *bs, GF_DefaultDescriptor *dd, u32 DescSize);
\r
155 GF_Err gf_odf_read_esd_inc(GF_BitStream *bs, GF_ES_ID_Inc *esd_inc, u32 DescSize);
\r
156 GF_Err gf_odf_read_esd_ref(GF_BitStream *bs, GF_ES_ID_Ref *esd_ref, u32 DescSize);
\r
157 GF_Err gf_odf_read_exp_text(GF_BitStream *bs, GF_ExpandedTextual *etd, u32 DescSize);
\r
158 GF_Err gf_odf_read_pl_ext(GF_BitStream *bs, GF_PLExt *pld, u32 DescSize);
\r
159 GF_Err gf_odf_read_ipi_ptr(GF_BitStream *bs, GF_IPIPtr *ipid, u32 DescSize);
\r
160 GF_Err gf_odf_read_ipmp(GF_BitStream *bs, GF_IPMP_Descriptor *ipmp, u32 DescSize);
\r
161 GF_Err gf_odf_read_ipmp_ptr(GF_BitStream *bs, GF_IPMPPtr *ipmpd, u32 DescSize);
\r
162 GF_Err gf_odf_read_kw(GF_BitStream *bs, GF_KeyWord *kwd, u32 DescSize);
\r
163 GF_Err gf_odf_read_lang(GF_BitStream *bs, GF_Language *ld, u32 DescSize);
\r
164 GF_Err gf_odf_read_isom_iod(GF_BitStream *bs, GF_IsomInitialObjectDescriptor *iod, u32 DescSize);
\r
165 GF_Err gf_odf_read_isom_od(GF_BitStream *bs, GF_IsomObjectDescriptor *od, u32 DescSize);
\r
166 GF_Err gf_odf_read_od(GF_BitStream *bs, GF_ObjectDescriptor *od, u32 DescSize);
\r
167 GF_Err gf_odf_read_oci_date(GF_BitStream *bs, GF_OCI_Data *ocd, u32 DescSize);
\r
168 GF_Err gf_odf_read_oci_name(GF_BitStream *bs, GF_OCICreators *ocn, u32 DescSize);
\r
169 GF_Err gf_odf_read_pl_idx(GF_BitStream *bs, GF_PL_IDX *plid, u32 DescSize);
\r
170 GF_Err gf_odf_read_qos(GF_BitStream *bs, GF_QoS_Descriptor *qos, u32 DescSize);
\r
171 GF_Err gf_odf_read_rating(GF_BitStream *bs, GF_Rating *rd, u32 DescSize);
\r
172 GF_Err gf_odf_read_reg(GF_BitStream *bs, GF_Registration *reg, u32 DescSize);
\r
173 GF_Err gf_odf_read_short_text(GF_BitStream *bs, GF_ShortTextual *std, u32 DescSize);
\r
174 GF_Err gf_odf_read_smpte_camera(GF_BitStream *bs, GF_SMPTECamera *cpd, u32 DescSize);
\r
175 GF_Err gf_odf_read_sup_cid(GF_BitStream *bs, GF_SCIDesc *scid, u32 DescSize);
\r
176 GF_Err gf_odf_read_segment(GF_BitStream *bs, GF_Segment *sd, u32 DescSize);
\r
177 GF_Err gf_odf_read_mediatime(GF_BitStream *bs, GF_MediaTime *mt, u32 DescSize);
\r
178 GF_Err gf_odf_read_muxinfo(GF_BitStream *bs, GF_MuxInfo *mi, u32 DescSize);
\r
179 GF_Err gf_odf_read_ipmp_tool_list(GF_BitStream *bs, GF_IPMP_ToolList *ipmptl, u32 DescSize);
\r
180 GF_Err gf_odf_read_ipmp_tool(GF_BitStream *bs, GF_IPMP_Tool *ipmp, u32 DescSize);
\r
181 GF_Err gf_odf_read_auxvid(GF_BitStream *bs, GF_AuxVideoDescriptor *ld, u32 DescSize);
\r
183 GF_Err gf_odf_size_iod(GF_InitialObjectDescriptor *iod, u32 *outSize);
\r
184 GF_Err gf_odf_size_esd(GF_ESD *esd, u32 *outSize);
\r
185 GF_Err gf_odf_size_dcd(GF_DecoderConfig *dcd, u32 *outSize);
\r
186 GF_Err gf_odf_size_slc(GF_SLConfig *sl, u32 *outSize);
\r
187 GF_Err gf_odf_size_cc(GF_CCDescriptor *ccd, u32 *outSize);
\r
188 GF_Err gf_odf_size_cc_date(GF_CC_Date *cdd, u32 *outSize);
\r
189 GF_Err gf_odf_size_cc_name(GF_CC_Name *cnd, u32 *outSize);
\r
190 GF_Err gf_odf_size_ci(GF_CIDesc *cid, u32 *outSize);
\r
191 GF_Err gf_odf_size_default(GF_DefaultDescriptor *dd, u32 *outSize);
\r
192 GF_Err gf_odf_size_esd_inc(GF_ES_ID_Inc *esd_inc, u32 *outSize);
\r
193 GF_Err gf_odf_size_esd_ref(GF_ES_ID_Ref *esd_ref, u32 *outSize);
\r
194 GF_Err gf_odf_size_exp_text(GF_ExpandedTextual *etd, u32 *outSize);
\r
195 GF_Err gf_odf_size_pl_ext(GF_PLExt *pld, u32 *outSize);
\r
196 GF_Err gf_odf_size_ipi_ptr(GF_IPIPtr *ipid, u32 *outSize);
\r
197 GF_Err gf_odf_size_ipmp(GF_IPMP_Descriptor *ipmp, u32 *outSize);
\r
198 GF_Err gf_odf_size_ipmp_ptr(GF_IPMPPtr *ipmpd, u32 *outSize);
\r
199 GF_Err gf_odf_size_kw(GF_KeyWord *kwd, u32 *outSize);
\r
200 GF_Err gf_odf_size_lang(GF_Language *ld, u32 *outSize);
\r
201 GF_Err gf_odf_size_isom_iod(GF_IsomInitialObjectDescriptor *iod, u32 *outSize);
\r
202 GF_Err gf_odf_size_isom_od(GF_IsomObjectDescriptor *od, u32 *outSize);
\r
203 GF_Err gf_odf_size_od(GF_ObjectDescriptor *od, u32 *outSize);
\r
204 GF_Err gf_odf_size_oci_date(GF_OCI_Data *ocd, u32 *outSize);
\r
205 GF_Err gf_odf_size_oci_name(GF_OCICreators *ocn, u32 *outSize);
\r
206 GF_Err gf_odf_size_pl_idx(GF_PL_IDX *plid, u32 *outSize);
\r
207 GF_Err gf_odf_size_qos(GF_QoS_Descriptor *qos, u32 *outSize);
\r
208 GF_Err gf_odf_size_rating(GF_Rating *rd, u32 *outSize);
\r
209 GF_Err gf_odf_size_reg(GF_Registration *reg, u32 *outSize);
\r
210 GF_Err gf_odf_size_short_text(GF_ShortTextual *std, u32 *outSize);
\r
211 GF_Err gf_odf_size_smpte_camera(GF_SMPTECamera *cpd, u32 *outSize);
\r
212 GF_Err gf_odf_size_sup_cid(GF_SCIDesc *scid, u32 *outSize);
\r
213 GF_Err gf_odf_size_segment(GF_Segment *sd, u32 *outSize);
\r
214 GF_Err gf_odf_size_mediatime(GF_MediaTime *mt, u32 *outSize);
\r
215 GF_Err gf_odf_size_muxinfo(GF_MuxInfo *mi, u32 *outSize);
\r
216 GF_Err gf_odf_size_ipmp_tool_list(GF_IPMP_ToolList *ipmptl, u32 *outSize);
\r
217 GF_Err gf_odf_size_ipmp_tool(GF_IPMP_Tool *ipmp, u32 *outSize);
\r
218 GF_Err gf_odf_size_auxvid(GF_AuxVideoDescriptor *ld, u32 *outSize);
\r
220 GF_Err gf_odf_write_iod(GF_BitStream *bs, GF_InitialObjectDescriptor *iod);
\r
221 GF_Err gf_odf_write_esd(GF_BitStream *bs, GF_ESD *esd);
\r
222 GF_Err gf_odf_write_dcd(GF_BitStream *bs, GF_DecoderConfig *dcd);
\r
223 GF_Err gf_odf_write_slc(GF_BitStream *bs, GF_SLConfig *sl);
\r
224 GF_Err gf_odf_write_cc(GF_BitStream *bs, GF_CCDescriptor *ccd);
\r
225 GF_Err gf_odf_write_cc_date(GF_BitStream *bs, GF_CC_Date *cdd);
\r
226 GF_Err gf_odf_write_cc_name(GF_BitStream *bs, GF_CC_Name *cnd);
\r
227 GF_Err gf_odf_write_ci(GF_BitStream *bs, GF_CIDesc *cid);
\r
228 GF_Err gf_odf_write_default(GF_BitStream *bs, GF_DefaultDescriptor *dd);
\r
229 GF_Err gf_odf_write_esd_inc(GF_BitStream *bs, GF_ES_ID_Inc *esd_inc);
\r
230 GF_Err gf_odf_write_esd_ref(GF_BitStream *bs, GF_ES_ID_Ref *esd_ref);
\r
231 GF_Err gf_odf_write_exp_text(GF_BitStream *bs, GF_ExpandedTextual *etd);
\r
232 GF_Err gf_odf_write_pl_ext(GF_BitStream *bs, GF_PLExt *pld);
\r
233 GF_Err gf_odf_write_ipi_ptr(GF_BitStream *bs, GF_IPIPtr *ipid);
\r
234 GF_Err gf_odf_write_ipmp(GF_BitStream *bs, GF_IPMP_Descriptor *ipmp);
\r
235 GF_Err gf_odf_write_ipmp_ptr(GF_BitStream *bs, GF_IPMPPtr *ipmpd);
\r
236 GF_Err gf_odf_write_kw(GF_BitStream *bs, GF_KeyWord *kwd);
\r
237 GF_Err gf_odf_write_lang(GF_BitStream *bs, GF_Language *ld);
\r
238 GF_Err gf_odf_write_isom_iod(GF_BitStream *bs, GF_IsomInitialObjectDescriptor *iod);
\r
239 GF_Err gf_odf_write_isom_od(GF_BitStream *bs, GF_IsomObjectDescriptor *od);
\r
240 GF_Err gf_odf_write_od(GF_BitStream *bs, GF_ObjectDescriptor *od);
\r
241 GF_Err gf_odf_write_oci_date(GF_BitStream *bs, GF_OCI_Data *ocd);
\r
242 GF_Err gf_odf_write_oci_name(GF_BitStream *bs, GF_OCICreators *ocn);
\r
243 GF_Err gf_odf_write_pl_idx(GF_BitStream *bs, GF_PL_IDX *plid);
\r
244 GF_Err gf_odf_write_qos(GF_BitStream *bs, GF_QoS_Descriptor *qos);
\r
245 GF_Err gf_odf_write_rating(GF_BitStream *bs, GF_Rating *rd);
\r
246 GF_Err gf_odf_write_reg(GF_BitStream *bs, GF_Registration *reg);
\r
247 GF_Err gf_odf_write_short_text(GF_BitStream *bs, GF_ShortTextual *std);
\r
248 GF_Err gf_odf_write_smpte_camera(GF_BitStream *bs, GF_SMPTECamera *cpd);
\r
249 GF_Err gf_odf_write_sup_cid(GF_BitStream *bs, GF_SCIDesc *scid);
\r
250 GF_Err gf_odf_write_segment(GF_BitStream *bs, GF_Segment *sd);
\r
251 GF_Err gf_odf_write_mediatime(GF_BitStream *bs, GF_MediaTime *mt);
\r
252 GF_Err gf_odf_write_muxinfo(GF_BitStream *bs, GF_MuxInfo *mi);
\r
253 GF_Err gf_odf_write_ipmp_tool_list(GF_BitStream *bs, GF_IPMP_ToolList *ipmptl);
\r
254 GF_Err gf_odf_write_ipmp_tool(GF_BitStream *bs, GF_IPMP_Tool *ipmp);
\r
255 GF_Err gf_odf_write_auxvid(GF_BitStream *bs, GF_AuxVideoDescriptor *ld);
\r
257 GF_Descriptor *gf_odf_new_text_cfg();
\r
258 GF_Err gf_odf_del_text_cfg(GF_TextConfig *desc);
\r
259 GF_Descriptor *gf_odf_new_tx3g();
\r
260 GF_Err gf_odf_del_tx3g(GF_TextSampleDescriptor *sd);
\r
262 /*our commands base functions*/
\r
263 GF_ODCom *gf_odf_create_command(u8 tag);
\r
264 GF_Err gf_odf_delete_command(GF_ODCom *com);
\r
265 GF_Err gf_odf_parse_command(GF_BitStream *bs, GF_ODCom **com, u32 *com_size);
\r
266 GF_Err gf_odf_read_command(GF_BitStream *bs, GF_ODCom *com, u32 gf_odf_size_command);
\r
267 GF_Err gf_odf_size_command(GF_ODCom *com, u32 *outSize);
\r
268 GF_Err gf_odf_write_command(GF_BitStream *bs, GF_ODCom *com);
\r
270 GF_ODCom *gf_odf_new_od_remove();
\r
271 GF_ODCom *gf_odf_new_od_update();
\r
272 GF_ODCom *gf_odf_new_esd_update();
\r
273 GF_ODCom *gf_odf_new_esd_remove();
\r
274 GF_ODCom *gf_odf_new_ipmp_update();
\r
275 GF_ODCom *gf_odf_new_ipmp_remove();
\r
276 GF_ODCom *gf_odf_new_base_command();
\r
278 GF_Err gf_odf_del_od_remove(GF_ODRemove *ODRemove);
\r
279 GF_Err gf_odf_del_od_update(GF_ODUpdate *ODUpdate);
\r
280 GF_Err gf_odf_del_esd_update(GF_ESDUpdate *ESDUpdate);
\r
281 GF_Err gf_odf_del_esd_remove(GF_ESDRemove *ESDRemove);
\r
282 GF_Err gf_odf_del_ipmp_update(GF_IPMPUpdate *IPMPDUpdate);
\r
283 GF_Err gf_odf_del_ipmp_remove(GF_IPMPRemove *IPMPDRemove);
\r
284 GF_Err gf_odf_del_base_command(GF_BaseODCom *bcRemove);
\r
286 GF_Err gf_odf_read_od_remove(GF_BitStream *bs, GF_ODRemove *odRem, u32 gf_odf_size_command);
\r
287 GF_Err gf_odf_read_od_update(GF_BitStream *bs, GF_ODUpdate *odUp, u32 gf_odf_size_command);
\r
288 GF_Err gf_odf_read_esd_update(GF_BitStream *bs, GF_ESDUpdate *esdUp, u32 gf_odf_size_command);
\r
289 GF_Err gf_odf_read_esd_remove(GF_BitStream *bs, GF_ESDRemove *esdRem, u32 gf_odf_size_command);
\r
290 GF_Err gf_odf_read_ipmp_update(GF_BitStream *bs, GF_IPMPUpdate *ipmpUp, u32 gf_odf_size_command);
\r
291 GF_Err gf_odf_read_ipmp_remove(GF_BitStream *bs, GF_IPMPRemove *ipmpRem, u32 gf_odf_size_command);
\r
292 GF_Err gf_odf_read_base_command(GF_BitStream *bs, GF_BaseODCom *bcRem, u32 gf_odf_size_command);
\r
294 GF_Err gf_odf_size_od_remove(GF_ODRemove *odRem, u32 *outSize);
\r
295 GF_Err gf_odf_size_od_update(GF_ODUpdate *odUp, u32 *outSize);
\r
296 GF_Err gf_odf_size_esd_update(GF_ESDUpdate *esdUp, u32 *outSize);
\r
297 GF_Err gf_odf_size_esd_remove(GF_ESDRemove *esdRem, u32 *outSize);
\r
298 GF_Err gf_odf_size_ipmp_update(GF_IPMPUpdate *ipmpUp, u32 *outSize);
\r
299 GF_Err gf_odf_size_ipmp_remove(GF_IPMPRemove *ipmpRem, u32 *outSize);
\r
300 GF_Err gf_odf_size_base_command(GF_BaseODCom *bcRem, u32 *outSize);
\r
302 GF_Err gf_odf_write_od_remove(GF_BitStream *bs, GF_ODRemove *odRem);
\r
303 GF_Err gf_odf_write_od_update(GF_BitStream *bs, GF_ODUpdate *odUp);
\r
304 GF_Err gf_odf_write_esd_update(GF_BitStream *bs, GF_ESDUpdate *esdUp);
\r
305 GF_Err gf_odf_write_esd_remove(GF_BitStream *bs, GF_ESDRemove *esdRem);
\r
306 GF_Err gf_odf_write_ipmp_update(GF_BitStream *bs, GF_IPMPUpdate *ipmpUp);
\r
307 GF_Err gf_odf_write_ipmp_remove(GF_BitStream *bs, GF_IPMPRemove *ipmpRem);
\r
308 GF_Err gf_odf_write_base_command(GF_BitStream *bs, GF_BaseODCom *bcRem);
\r
313 GF_Err gf_odf_dump_iod(GF_InitialObjectDescriptor *iod, FILE *trace, u32 indent, Bool XMTDump);
\r
314 GF_Err gf_odf_dump_esd(GF_ESD *esd, FILE *trace, u32 indent, Bool XMTDump);
\r
315 GF_Err gf_odf_dump_dcd(GF_DecoderConfig *dcd, FILE *trace, u32 indent, Bool XMTDump);
\r
316 GF_Err gf_odf_dump_slc(GF_SLConfig *sl, FILE *trace, u32 indent, Bool XMTDump);
\r
317 GF_Err gf_odf_dump_cc(GF_CCDescriptor *ccd, FILE *trace, u32 indent, Bool XMTDump);
\r
318 GF_Err gf_odf_dump_cc_date(GF_CC_Date *cdd, FILE *trace, u32 indent, Bool XMTDump);
\r
319 GF_Err gf_odf_dump_cc_name(GF_CC_Name *cnd, FILE *trace, u32 indent, Bool XMTDump);
\r
320 GF_Err gf_odf_dump_ci(GF_CIDesc *cid, FILE *trace, u32 indent, Bool XMTDump);
\r
321 GF_Err gf_odf_dump_default(GF_DefaultDescriptor *dd, FILE *trace, u32 indent, Bool XMTDump);
\r
322 GF_Err gf_odf_dump_esd_inc(GF_ES_ID_Inc *esd_inc, FILE *trace, u32 indent, Bool XMTDump);
\r
323 GF_Err gf_odf_dump_esd_ref(GF_ES_ID_Ref *esd_ref, FILE *trace, u32 indent, Bool XMTDump);
\r
324 GF_Err gf_odf_dump_exp_text(GF_ExpandedTextual *etd, FILE *trace, u32 indent, Bool XMTDump);
\r
325 GF_Err gf_odf_dump_pl_ext(GF_PLExt *pld, FILE *trace, u32 indent, Bool XMTDump);
\r
326 GF_Err gf_odf_dump_ipi_ptr(GF_IPIPtr *ipid, FILE *trace, u32 indent, Bool XMTDump);
\r
327 GF_Err gf_odf_dump_ipmp(GF_IPMP_Descriptor *ipmp, FILE *trace, u32 indent, Bool XMTDump);
\r
328 GF_Err gf_odf_dump_ipmp_ptr(GF_IPMPPtr *ipmpd, FILE *trace, u32 indent, Bool XMTDump);
\r
329 GF_Err gf_odf_dump_kw(GF_KeyWord *kwd, FILE *trace, u32 indent, Bool XMTDump);
\r
330 GF_Err gf_odf_dump_lang(GF_Language *ld, FILE *trace, u32 indent, Bool XMTDump);
\r
331 GF_Err gf_odf_dump_isom_iod(GF_IsomInitialObjectDescriptor *iod, FILE *trace, u32 indent, Bool XMTDump);
\r
332 GF_Err gf_odf_dump_isom_od(GF_IsomObjectDescriptor *od, FILE *trace, u32 indent, Bool XMTDump);
\r
333 GF_Err gf_odf_dump_od(GF_ObjectDescriptor *od, FILE *trace, u32 indent, Bool XMTDump);
\r
334 GF_Err gf_odf_dump_oci_date(GF_OCI_Data *ocd, FILE *trace, u32 indent, Bool XMTDump);
\r
335 GF_Err gf_odf_dump_oci_name(GF_OCICreators *ocn, FILE *trace, u32 indent, Bool XMTDump);
\r
336 GF_Err gf_odf_dump_pl_idx(GF_PL_IDX *plid, FILE *trace, u32 indent, Bool XMTDump);
\r
337 GF_Err gf_odf_dump_qos(GF_QoS_Descriptor *qos, FILE *trace, u32 indent, Bool XMTDump);
\r
338 GF_Err gf_odf_dump_rating(GF_Rating *rd, FILE *trace, u32 indent, Bool XMTDump);
\r
339 GF_Err gf_odf_dump_reg(GF_Registration *reg, FILE *trace, u32 indent, Bool XMTDump);
\r
340 GF_Err gf_odf_dump_short_text(GF_ShortTextual *std, FILE *trace, u32 indent, Bool XMTDump);
\r
341 GF_Err gf_odf_dump_smpte_camera(GF_SMPTECamera *cpd, FILE *trace, u32 indent, Bool XMTDump);
\r
342 GF_Err gf_odf_dump_sup_cid(GF_SCIDesc *scid, FILE *trace, u32 indent, Bool XMTDump);
\r
343 GF_Err gf_odf_dump_segment(GF_Segment *sd, FILE *trace, u32 indent, Bool XMTDump);
\r
344 GF_Err gf_odf_dump_mediatime(GF_MediaTime *mt, FILE *trace, u32 indent, Bool XMTDump);
\r
345 GF_Err gf_odf_dump_muxinfo(GF_MuxInfo *mi, FILE *trace, u32 indent, Bool XMTDump);
\r
346 GF_Err gf_odf_dump_bifs_cfg(GF_BIFSConfig *dsi, FILE *trace, u32 indent, Bool XMTDump);
\r
347 GF_Err gf_odf_dump_laser_cfg(GF_LASERConfig *dsi, FILE *trace, u32 indent, Bool XMTDump);
\r
348 GF_Err gf_odf_dump_ui_cfg(GF_UIConfig *dsi, FILE *trace, u32 indent, Bool XMTDump);
\r
349 GF_Err gf_odf_dump_txtcfg(GF_TextConfig *desc, FILE *trace, u32 indent, Bool XMTDump);
\r
350 GF_Err gf_odf_dump_ipmp_tool_list(GF_IPMP_ToolList *tl, FILE *trace, u32 indent, Bool XMTDump);
\r
351 GF_Err gf_odf_dump_ipmp_tool(GF_IPMP_Tool*t, FILE *trace, u32 indent, Bool XMTDump);
\r
352 GF_Err gf_odf_dump_aux_vid(GF_AuxVideoDescriptor *ld, FILE *trace, u32 indent, Bool XMTDump);
\r
355 GF_Err gf_odf_dump_od_update(GF_ODUpdate *com, FILE *trace, u32 indent, Bool XMTDump);
\r
356 GF_Err gf_odf_dump_od_remove(GF_ODRemove *com, FILE *trace, u32 indent, Bool XMTDump);
\r
357 GF_Err gf_odf_dump_esd_update(GF_ESDUpdate *com, FILE *trace, u32 indent, Bool XMTDump);
\r
358 GF_Err gf_odf_dump_esd_remove(GF_ESDRemove *com, FILE *trace, u32 indent, Bool XMTDump);
\r
359 GF_Err gf_odf_dump_ipmp_update(GF_IPMPUpdate *com, FILE *trace, u32 indent, Bool XMTDump);
\r
360 GF_Err gf_odf_dump_ipmp_remove(GF_IPMPRemove *com, FILE *trace, u32 indent, Bool XMTDump);
\r
361 GF_Err gf_odf_dump_base_command(GF_BaseODCom *com, FILE *trace, u32 indent, Bool XMTDump);
\r
363 #endif /*_GF_OD_DEV_H_*/
\r