[Redbutton-devel] SF.net SVN: redbutton: [213] redbutton-browser/trunk
Brought to you by:
skilvington
|
From: <ski...@us...> - 2007-02-13 14:12:45
|
Revision: 213
http://svn.sourceforge.net/redbutton/?rev=213&view=rev
Author: skilvington
Date: 2007-02-13 06:12:31 -0800 (Tue, 13 Feb 2007)
Log Message:
-----------
let StreamComponents know which StreamClass they belong to
Modified Paths:
--------------
redbutton-browser/trunk/StreamClass.c
redbutton-browser/trunk/StreamComponent.c
redbutton-browser/trunk/StreamComponent.h
redbutton-browser/trunk/add_instance_vars.conf
Modified: redbutton-browser/trunk/StreamClass.c
===================================================================
--- redbutton-browser/trunk/StreamClass.c 2007-02-13 10:30:46 UTC (rev 212)
+++ redbutton-browser/trunk/StreamClass.c 2007-02-13 14:12:31 UTC (rev 213)
@@ -13,6 +13,8 @@
void
default_StreamClassInstanceVars(StreamClass *t, StreamClassInstanceVars *v)
{
+ LIST_TYPE(StreamComponent) *comp;
+
bzero(v, sizeof(StreamClassInstanceVars));
v->Speed.numerator = 1;
@@ -24,6 +26,14 @@
v->CounterTriggers = NULL;
+ /* let the StreamComponents know who they belong to */
+ comp = t->multiplex;
+ while(comp)
+ {
+ StreamComponent_registerStreamClass(&comp->item, t);
+ comp = comp->next;
+ }
+
MHEGStreamPlayer_init(&v->player);
return;
Modified: redbutton-browser/trunk/StreamComponent.c
===================================================================
--- redbutton-browser/trunk/StreamComponent.c 2007-02-13 10:30:46 UTC (rev 212)
+++ redbutton-browser/trunk/StreamComponent.c 2007-02-13 14:12:31 UTC (rev 213)
@@ -9,6 +9,32 @@
#include "RTGraphicsClass.h"
#include "utils.h"
+void
+StreamComponent_registerStreamClass(StreamComponent *s, StreamClass *owner)
+{
+
+ switch(s->choice)
+ {
+ case StreamComponent_audio:
+ s->u.audio.inst.owner = owner;
+ break;
+
+ case StreamComponent_video:
+ s->u.video.inst.owner = owner;
+ break;
+
+ case StreamComponent_rtgraphics:
+ s->u.rtgraphics.inst.owner = owner;
+ break;
+
+ default:
+ error("Unknown StreamComponent type: %d", s->choice);
+ break;
+ }
+
+ return;
+}
+
RootClass *
StreamComponent_rootClass(StreamComponent *s)
{
Modified: redbutton-browser/trunk/StreamComponent.h
===================================================================
--- redbutton-browser/trunk/StreamComponent.h 2007-02-13 10:30:46 UTC (rev 212)
+++ redbutton-browser/trunk/StreamComponent.h 2007-02-13 14:12:31 UTC (rev 213)
@@ -9,6 +9,8 @@
#include "ISO13522-MHEG-5.h"
+void StreamComponent_registerStreamClass(StreamComponent *, StreamClass *);
+
RootClass *StreamComponent_rootClass(StreamComponent *);
bool StreamComponent_isInitiallyActive(StreamComponent *);
Modified: redbutton-browser/trunk/add_instance_vars.conf
===================================================================
--- redbutton-browser/trunk/add_instance_vars.conf 2007-02-13 10:30:46 UTC (rev 212)
+++ redbutton-browser/trunk/add_instance_vars.conf 2007-02-13 14:12:31 UTC (rev 213)
@@ -177,6 +177,8 @@
/* VideoClass */
/* UK MHEG Profile adds this */
XYPosition VideoDecodeOffset;
+ /* we add a link to the StreamClass it is a part of */
+ struct StreamClass *owner;
/* we add a lock for the size/position */
pthread_mutex_t bbox_lock;
/* and the scaled size */
@@ -222,9 +224,20 @@
typedef struct
{
int Volume;
+ /* we add a link to the StreamClass it is a part of */
+ struct StreamClass *owner;
} AudioClassInstanceVars;
</AudioClass>
+<RTGraphicsClass>
+typedef struct
+{
+ /* not implemented */
+ /* we add a link to the StreamClass it is a part of */
+ struct StreamClass *owner;
+} RTGraphicsClassInstanceVars;
+</RTGraphicsClass>
+
<SliderClass>
typedef struct
{
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|