aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/mate/mate.h
diff options
context:
space:
mode:
authorLars Roland <Lars.Roland@gmx.net>2004-12-31 14:27:38 +0000
committerLars Roland <Lars.Roland@gmx.net>2004-12-31 14:27:38 +0000
commit2ce1e037f63e5faf344ea51c18cd41efb2c04f6b (patch)
tree4223795ecf6f5e65465bd8402a9d6c56d44e2d32 /plugins/mate/mate.h
parentfd39b4ddcafbc5aa7b28698359a5ab1b7164ecb0 (diff)
From Luis Ontanon for Mate:
- moved gop and gog indexes into gopcfgs, which is a propedeutic change for upcoming changes in the way gops are to be grouped - changed the way gog-keys are kept in memory - every gopkey attribute is copied into the gop->extras to avoid redundancy in the configuration - added timers to gogs mate.gog_type.StartTime and mate.gog_type.Time - fixed a bug in scs_subscribe that mangled some strings - minor interface improvement to scs propedeutic to having types avp values in a future - changed medium and large into mate_medium and mate_large in the scs_collection - fixed Mode=Replace in Transforms, now it works - fixed a crash at reinit due to impropper initialization of mate_items svn path=/trunk/; revision=12902
Diffstat (limited to 'plugins/mate/mate.h')
-rw-r--r--plugins/mate/mate.h33
1 files changed, 20 insertions, 13 deletions
diff --git a/plugins/mate/mate.h b/plugins/mate/mate.h
index 0a4a3665a2..da816119ea 100644
--- a/plugins/mate/mate.h
+++ b/plugins/mate/mate.h
@@ -157,7 +157,7 @@ typedef struct _mate_cfg_item {
gint ett_attr;
gint ett_times;
gint ett_children;
-
+
/* pdu */
gboolean discard_pdu_attributes;
gboolean last_to_be_created;
@@ -170,19 +170,25 @@ typedef struct _mate_cfg_item {
int hfid_pdu_rel_time;
int hfid_pdu_time_in_gop;
+
+ /* common to gop and gog */
+ int hfid_start_time;
+ int hfid_stop_time;
+ int hfid_last_time;
+
/* gop */
AVPL* start; /* start candidate avpl */
AVPL* stop; /* stop candidate avpl */
AVPL* key; /* key candidate avpl */
gboolean show_pdu_tree;
- gboolean show_gop_times;
+ gboolean show_times;
gboolean drop_gop;
int hfid_gop_pdu;
- int hfid_gop_start_time;
- int hfid_gop_stop_time;
- int hfid_gop_last_time;
int hfid_gop_num_pdus;
+ GHashTable* gop_index;
+ GHashTable* gog_index;
+
/* gog */
LoAL* keys;
float expiration;
@@ -199,7 +205,7 @@ typedef struct _mate_config {
gboolean drop_gop; /* destroy the gop if not assign to a gog */
guint8* mate_lib_path; /* where to look for "Include" files first */
gboolean show_pdu_tree;
- gboolean show_gop_times;
+ gboolean show_times;
gboolean last_to_be_created;
avpl_match_mode match_mode;
avpl_replace_mode replace_mode;
@@ -240,9 +246,6 @@ typedef struct _mate_runtime_data {
guint highest_analyzed_frame;
GHashTable* frames; /* k=frame.num v=pdus */
- GHashTable* items; /* k=item->id v=item */
- GHashTable* gops; /* k=gop_key_match v=gop */
- GHashTable* gogs; /* k=gog_key_match v=gog */
} mate_runtime_data;
@@ -256,6 +259,14 @@ struct _mate_item {
mate_item* next; /* in pdu: next in gop; in gop: next in gog; in gog this doesn't make any sense yet */
+ float expiration; /* when will it expire after release (all gops releases if gog)? */
+ float idle_expiration; /* when will it expire if no new pdus are assigned to it */
+
+ /* on gop and gog: */
+ float start_time; /* time of start */
+ float release_time; /* when this gop/gog was released */
+ float last_time; /* the rel_time at which the last pdu has been added (to gop or gog's gop) */
+
/* union _payload { */
/* struct _pdu { */
guint32 frame; /* wich frame I belog to? */
@@ -275,16 +286,12 @@ struct _mate_item {
gboolean released; /* has this gop been released? */
int num_of_pdus; /* how many gops a gog has? */
int num_of_after_release_pdus; /* how many pdus have arrived since it's been released */
- float start_time; /* time of start */
- float release_time; /* when this gop was released */
- float last_time; /* the rel time at which the last pdu/gop has been added */
guint8* gop_key; /* used by gop */
mate_pdu* last_pdu; /* last pdu in pdu's list */
/* } gop; */
/* struct _gog { */
mate_gop* gops; /* gops that belong to a gog (NULL in gop) */
- float expiration; /* when will it expire once released? */
int num_of_gops; /* how many gops a gog has? */
int num_of_released_gops; /* how many of them have already been released */
guint last_n; /* the number of attributes the avpl had the last time we checked */