Line data Source code
1 : /*
2 : * GPAC - Multimedia Framework C SDK
3 : *
4 : * Authors: Deniz Ugur, Romain Bouqueau, Sohaib Larbi
5 : * Copyright (c) Motion Spell
6 : * All rights reserved
7 : *
8 : * This file is part of the GPAC/GStreamer wrapper
9 : *
10 : * This GPAC/GStreamer wrapper is free software; you can redistribute it
11 : * and/or modify it under the terms of the GNU Affero General Public License
12 : * as published by the Free Software Foundation; either version 3, or (at
13 : * your option) any later version.
14 : *
15 : * This GPAC/GStreamer wrapper is distributed in the hope that it will be
16 : * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
17 : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 : * GNU Affero General Public License for more details.
19 : *
20 : * You should have received a copy of the GNU Affero General Public
21 : * License along with this library; see the file LICENSE. If not, write to
22 : * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
23 : *
24 : */
25 :
26 : #pragma once
27 :
28 : #include "lib/packet.h"
29 :
30 : //
31 : // Macros for declaring packet property handlers
32 : //
33 :
34 : #define GPAC_PROP_IMPL_DECL(prop_nickname) \
35 : gboolean prop_nickname##_handler(GPAC_PCK_PROP_IMPL_ARGS);
36 :
37 : //
38 : // Macros for declaring property handlers
39 : //
40 :
41 : #define GPAC_PROP_DEFINE(prop_4cc, prop_nickname) \
42 : { prop_4cc, NULL, prop_nickname##_handler }
43 :
44 : #define GPAC_PROP_DEFINE_STR(prop_str, prop_nickname) \
45 : { 0, prop_str, prop_nickname##_handler }
46 :
47 : //
48 : // Property handler declarations
49 : //
50 : GPAC_PROP_IMPL_DECL(id3);
51 :
52 : typedef struct
53 : {
54 : u32 prop_4cc;
55 : const gchar* prop_str;
56 :
57 : gboolean (*handler)(GPAC_PCK_PROP_IMPL_ARGS);
58 : } prop_registry_entry;
59 :
60 : static prop_registry_entry prop_registry[] = { GPAC_PROP_DEFINE_STR("id3",
61 : id3) };
62 :
63 : u32
64 13048 : gpac_pck_get_num_supported_props()
65 : {
66 13048 : return G_N_ELEMENTS(prop_registry);
67 : }
|