diff options
Diffstat (limited to 'plugins/mate/mate.h')
-rw-r--r-- | plugins/mate/mate.h | 33 |
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 */ |