redbutton-devel Mailing List for RedButton MHEG Engine (Page 16)
Brought to you by:
skilvington
You can subscribe to this list here.
| 2006 |
Jan
(1) |
Feb
(4) |
Mar
(27) |
Apr
(6) |
May
(46) |
Jun
(45) |
Jul
(7) |
Aug
(4) |
Sep
(7) |
Oct
(5) |
Nov
(10) |
Dec
(11) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2007 |
Jan
(49) |
Feb
(29) |
Mar
(35) |
Apr
(43) |
May
(23) |
Jun
(4) |
Jul
(1) |
Aug
(58) |
Sep
(66) |
Oct
(27) |
Nov
(15) |
Dec
(1) |
| 2008 |
Jan
(11) |
Feb
|
Mar
(8) |
Apr
|
May
|
Jun
(30) |
Jul
(1) |
Aug
(1) |
Sep
(1) |
Oct
|
Nov
(3) |
Dec
(6) |
| 2009 |
Jan
(6) |
Feb
(1) |
Mar
(2) |
Apr
(5) |
May
(2) |
Jun
(1) |
Jul
(7) |
Aug
|
Sep
(2) |
Oct
(2) |
Nov
|
Dec
(6) |
| 2010 |
Jan
(6) |
Feb
|
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(6) |
Sep
(4) |
Oct
|
Nov
(11) |
Dec
(4) |
| 2011 |
Jan
|
Feb
(11) |
Mar
(8) |
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
(4) |
Oct
|
Nov
(2) |
Dec
|
| 2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <ski...@us...> - 2007-04-13 14:39:29
|
Revision: 283
http://svn.sourceforge.net/redbutton/?rev=283&view=rev
Author: skilvington
Date: 2007-04-13 07:39:23 -0700 (Fri, 13 Apr 2007)
Log Message:
-----------
props to OpenMedia in NZ
Modified Paths:
--------------
www/index.html
Modified: www/index.html
===================================================================
--- www/index.html 2007-04-13 14:28:36 UTC (rev 282)
+++ www/index.html 2007-04-13 14:39:23 UTC (rev 283)
@@ -169,6 +169,7 @@
<TR align="center"><TD>Return</TD><TD>OK/Select</TD></TR>
<TR align="center"><TD>Escape</TD><TD>Cancel</TD></TR>
<TR align="center"><TD>t</TD><TD>Text</TD></TR>
+<TR align="center"><TD>e</TD><TD>EPG (NZ Profile only)</TD></TR>
</TABLE>
<P>
You will need the "expat" XML parsing library and the xsltproc XML stylesheet processor that comes with "libxslt" to compile it.
@@ -189,11 +190,10 @@
so it'll drop video frames in full screen mode unless you have a very fast processor
(or your full screen X resolution is set to 720x576 pixels).
<P>
-It will only display apps that conform to the UK MHEG Profile (available from
+It will display apps that conform to the UK MHEG Profile (available from
<A href="http://www.dtg.org.uk/">www.dtg.org.uk</A>).
+Thanks to some patches and info from Steve at <A href="http://www.openmedia.co.nz/">OpenMedia</A> in NZ, it should also be able to download apps conforming to the NZ MHEG spec and display them.
<P>
-In theory, it should be able to download apps conforming to the NZ MHEG spec and also display them. But I haven't been able to test it and I think the NZ spec has some extra or different key mappings.
-<P>
When it starts you will probably need to press 'r' (for BBC) or 't' (for ITV/C4) to activate
any MHEG app that may be waiting for you to do something.
<P>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ski...@us...> - 2007-04-13 14:28:38
|
Revision: 282
http://svn.sourceforge.net/redbutton/?rev=282&view=rev
Author: skilvington
Date: 2007-04-13 07:28:36 -0700 (Fri, 13 Apr 2007)
Log Message:
-----------
typo
Modified Paths:
--------------
www/index.html
Modified: www/index.html
===================================================================
--- www/index.html 2007-04-13 14:26:28 UTC (rev 281)
+++ www/index.html 2007-04-13 14:28:36 UTC (rev 282)
@@ -49,7 +49,7 @@
use the -a option to change the adapter number (eg "-a 1" will use /dev/dvb/adapter1/frontend0 etc).
<P>
rb-download needs a "channels.conf" file which gives tuning parameters for service_id's.
-A channels.conf files can be generated by the "scan" utility in the dvb-apps package at <A HREF="http://www.linuxtv.org">www.linuxtv.org</A>.
+A channels.conf file can be generated by the "scan" utility in the dvb-apps package at <A HREF="http://www.linuxtv.org">www.linuxtv.org</A>.
For example:
<PRE>
scan ./uk-Malvern > ~/.tzap/channels.conf
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ski...@us...> - 2007-04-13 14:26:32
|
Revision: 281
http://svn.sourceforge.net/redbutton/?rev=281&view=rev
Author: skilvington
Date: 2007-04-13 07:26:28 -0700 (Fri, 13 Apr 2007)
Log Message:
-----------
keep track of rec://svc/def
Modified Paths:
--------------
redbutton-browser/trunk/MHEGBackend.c
redbutton-browser/trunk/MHEGBackend.h
redbutton-browser/trunk/MHEGEngine.c
Modified: redbutton-browser/trunk/MHEGBackend.c
===================================================================
--- redbutton-browser/trunk/MHEGBackend.c 2007-04-11 09:44:27 UTC (rev 280)
+++ redbutton-browser/trunk/MHEGBackend.c 2007-04-13 14:26:28 UTC (rev 281)
@@ -21,6 +21,11 @@
static MHEGStream *open_stream(MHEGBackend *, int, bool, int *, int *, bool, int *, int *);
static void close_stream(MHEGBackend *, MHEGStream *);
+static void local_set_service_url(MHEGBackend *);
+static void remote_set_service_url(MHEGBackend *);
+
+static const OctetString *get_service_url(MHEGBackend *);
+
static int parse_addr(char *, struct in_addr *, in_port_t *);
static int get_host_addr(char *, struct in_addr *);
@@ -40,6 +45,7 @@
open_stream, /* openStream */
close_stream, /* closeStream */
local_retune, /* retune */
+ get_service_url, /* getServiceURL */
};
/* remote backend funcs */
@@ -56,9 +62,11 @@
open_stream, /* openStream */
close_stream, /* closeStream */
remote_retune, /* retune */
+ get_service_url, /* getServiceURL */
};
/* public interface */
+
void
MHEGBackend_init(MHEGBackend *b, bool remote, char *srg_loc)
{
@@ -72,6 +80,10 @@
/* no connection to the backend yet */
b->be_sock = NULL;
+ /* don't know rec://svc/def yet */
+ b->rec_svc_def.size = 0;
+ b->rec_svc_def.data = NULL;
+
if(remote)
{
/* backend is on a different host, srg_loc is the remote host[:port] */
@@ -80,6 +92,8 @@
if(parse_addr(srg_loc, &b->addr.sin_addr, &b->addr.sin_port) < 0)
fatal("Unable to resolve host %s", srg_loc);
verbose("Remote backend at %s:%u", inet_ntoa(b->addr.sin_addr), ntohs(b->addr.sin_port));
+ /* initialise rec://svc/def value */
+ remote_set_service_url(b);
}
else
{
@@ -87,8 +101,12 @@
b->fns = &local_backend_fns;
b->base_dir = safe_strdup(srg_loc);
verbose("Local backend; carousel file root '%s'", srg_loc);
+ /* initialise rec://svc/def value */
+ local_set_service_url(b);
}
+ verbose("Current service is %.*s", b->rec_svc_def.size, b->rec_svc_def.data);
+
return;
}
@@ -102,6 +120,8 @@
safe_free(b->base_dir);
+ safe_free(b->rec_svc_def.data);
+
return;
}
@@ -320,6 +340,88 @@
}
/*
+ * update rec_svc_def to the service directory we are reading the carousel from
+ * rec_svc_def will be in dvb:// format, but the network_id will be empty
+ * eg if we are reading path/to/services/4165, then rec_svc_def will be dvb://..1045
+ */
+
+static void
+local_set_service_url(MHEGBackend *t)
+{
+ char *slash;
+ int prefix_len;
+ int service_id;
+ char url[1024];
+ size_t len;
+
+ /* base_dir is: [path/to/services/]<service_id> */
+ slash = strrchr(t->base_dir, '/');
+ if(slash == NULL)
+ {
+ /* no preceeding path */
+ service_id = atoi(t->base_dir);
+ }
+ else
+ {
+ prefix_len = (slash - t->base_dir) + 1;
+ service_id = atoi(t->base_dir + prefix_len);
+ }
+
+ /* create a fake dvb:// format URL */
+ len = snprintf(url, sizeof(url), "dvb://..%x", service_id);
+
+ /* overwrite any existing value */
+ t->rec_svc_def.size = len;
+ t->rec_svc_def.data = safe_realloc(t->rec_svc_def.data, len);
+ memcpy(t->rec_svc_def.data, url, len);
+
+ return;
+}
+
+/*
+ * update rec_svc_def to the service we are downloading the carousel from
+ * rec_svc_def will be in dvb:// format
+ */
+
+static void
+remote_set_service_url(MHEGBackend *t)
+{
+ char cmd[32];
+ FILE *sock;
+ char url[1024];
+ size_t len;
+
+ /* send backend a "service" command, response is carousel service in dvb:// format */
+ snprintf(cmd, sizeof(cmd), "service\n");
+
+ if((sock = remote_command(t, true, cmd)) == NULL
+ || remote_response(sock) != BACKEND_RESPONSE_OK
+ || fgets(url, sizeof(url), sock) == NULL)
+ {
+ /* this should never happen, and I don't want a NULL rec_svc_def */
+ fatal("Unable to determine current service");
+ }
+
+ /* chop any trailing \n off the URL */
+ len = strlen(url);
+ while(len > 0 && url[len-1] == '\n')
+ len --;
+
+ /* overwrite any existing value */
+ t->rec_svc_def.size = len;
+ t->rec_svc_def.data = safe_realloc(t->rec_svc_def.data, len);
+ memcpy(t->rec_svc_def.data, url, len);
+
+ return;
+}
+
+static const OctetString *
+get_service_url(MHEGBackend *t)
+{
+ return (const OctetString *) &t->rec_svc_def;
+}
+
+/*
* extract the IP addr and port number from a string in one of these forms:
* host:port
* ip-addr:port
@@ -484,6 +586,10 @@
char *slash;
int prefix_len;
+ /* assert */
+ if(service->size < 6 || strncmp(service->data, "dvb://", 6) != 0)
+ fatal("local_retune: unable to tune to '%.*s'", service->size, service->data);
+
/* extract the service_id */
service_id = si_get_service_id(service);
snprintf(service_str, sizeof(service_str), "%u", service_id);
@@ -506,6 +612,9 @@
strcpy(t->base_dir + prefix_len, service_str);
}
+ /* update rec://svc/def */
+ local_set_service_url(t);
+
verbose("Retune: new service gateway is '%s'", t->base_dir);
return;
@@ -647,6 +756,10 @@
char cmd[128];
FILE *sock;
+ /* assert */
+ if(service->size < 6 || strncmp(service->data, "dvb://", 6) != 0)
+ fatal("remote_retune: unable to tune to '%.*s'", service->size, service->data);
+
snprintf(cmd, sizeof(cmd), "retune %u\n", si_get_service_id(service));
if((sock = remote_command(t, true, cmd)) == NULL
@@ -662,6 +775,9 @@
t->be_sock = NULL;
}
+ /* update rec://svc/def */
+ remote_set_service_url(t);
+
return;
}
Modified: redbutton-browser/trunk/MHEGBackend.h
===================================================================
--- redbutton-browser/trunk/MHEGBackend.h 2007-04-11 09:44:27 UTC (rev 280)
+++ redbutton-browser/trunk/MHEGBackend.h 2007-04-13 14:26:28 UTC (rev 281)
@@ -23,6 +23,7 @@
typedef struct MHEGBackend
{
+ OctetString rec_svc_def; /* service we are downloading the carousel from */
char *base_dir; /* local Service Gateway root directory */
struct sockaddr_in addr; /* remote backend IP and port */
FILE *be_sock; /* connection to remote backend */
@@ -41,6 +42,8 @@
void (*closeStream)(struct MHEGBackend *, MHEGStream *);
/* tune to the given service */
void (*retune)(struct MHEGBackend *, OctetString *);
+ /* return a dvb:// URL for the service we are currently downloading the carousel from */
+ const OctetString *(*getServiceURL)(struct MHEGBackend *);
} *fns;
} MHEGBackend;
Modified: redbutton-browser/trunk/MHEGEngine.c
===================================================================
--- redbutton-browser/trunk/MHEGEngine.c 2007-04-11 09:44:27 UTC (rev 280)
+++ redbutton-browser/trunk/MHEGEngine.c 2007-04-13 14:26:28 UTC (rev 281)
@@ -1448,20 +1448,31 @@
return (*(engine.backend.fns->retune))(&engine.backend, service);
}
+/*
+ * return a read-only dvb:// format value for rec://svc/def
+ */
+
const OctetString *
MHEGEngine_getRecSvcDef(void)
{
-static OctetString _TODO = {4,"TODO"};
-printf("TODO: MHEGEngine_getRecSvcDef\n");
-return (const OctetString *) &_TODO;
+ /* ask the backend */
+ return (*(engine.backend.fns->getServiceURL))(&engine.backend);
}
+/*
+ * return a read-only dvb:// format value for rec://svc/cur
+ */
+
const OctetString *
MHEGEngine_getRecSvcCur(void)
{
-static OctetString _TODO = {4,"TODO"};
-printf("TODO: MHEGEngine_getRecSvcCur\n");
-return (const OctetString *) &_TODO;
+/* TODO */
+// need to keep track of this ourselves
+// initially svc/cur = svc/def
+// only changes if SetData called on StreamClass
+// retune => reset to svc/cur = svc/def again?
+printf("TODO: MHEGEngine_getRecSvcCur: returning rec://svc/def instead\n");
+return (*(engine.backend.fns->getServiceURL))(&engine.backend);
}
/*
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ski...@us...> - 2007-04-11 09:44:35
|
Revision: 280
http://svn.sourceforge.net/redbutton/?rev=280&view=rev
Author: skilvington
Date: 2007-04-11 02:44:27 -0700 (Wed, 11 Apr 2007)
Log Message:
-----------
add a command to show the current service ID
Modified Paths:
--------------
redbutton-download/trunk/command.c
Modified: redbutton-download/trunk/command.c
===================================================================
--- redbutton-download/trunk/command.c 2007-04-08 11:50:31 UTC (rev 279)
+++ redbutton-download/trunk/command.c 2007-04-11 09:44:27 UTC (rev 280)
@@ -34,6 +34,7 @@
bool cmd_help(struct listen_data *, FILE *, int, char **);
bool cmd_quit(struct listen_data *, FILE *, int, char **);
bool cmd_retune(struct listen_data *, FILE *, int, char **);
+bool cmd_service(struct listen_data *, FILE *, int, char **);
bool cmd_vdemux(struct listen_data *, FILE *, int, char **);
bool cmd_vstream(struct listen_data *, FILE *, int, char **);
@@ -56,6 +57,7 @@
{ "help", "", cmd_help, "List available commands" },
{ "quit", "", cmd_quit, "Close the connection" },
{ "retune", "<ServiceID>", cmd_retune, "Start downloading the carousel from ServiceID" },
+ { "service", "", cmd_service, "Show the current service ID" },
{ "vdemux", "[<ServiceID>] <ComponentTag>", cmd_vdemux, "Demux the given video component tag" },
{ "vstream", "[<ServiceID>] <ComponentTag>", cmd_vstream, "Stream the given video component tag" },
{ NULL, NULL, NULL, NULL }
@@ -801,6 +803,27 @@
}
/*
+ * service
+ * show the service ID we are downloading the carousel from
+ * will be in the form, "dvb://network_id..service_id"
+ */
+
+bool
+cmd_service(struct listen_data *listen_data, FILE *client, int argc, char *argv[])
+{
+ struct carousel *car = listen_data->carousel;
+
+ SEND_RESPONSE(200, "OK");
+
+/* TODO */
+printf("TODO: cmd_service network_id\n");
+
+ fprintf(client, "dvb://..%x\n", car->service_id);
+
+ return false;
+}
+
+/*
* help
*/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ski...@us...> - 2007-04-08 11:50:34
|
Revision: 279
http://svn.sourceforge.net/redbutton/?rev=279&view=rev
Author: skilvington
Date: 2007-04-08 04:50:31 -0700 (Sun, 08 Apr 2007)
Log Message:
-----------
I know how to do this, but my wife's just had a baby, so it may not get done for a while!
Modified Paths:
--------------
redbutton-browser/trunk/MHEGEngine.c
redbutton-browser/trunk/MHEGEngine.h
redbutton-browser/trunk/si.c
Modified: redbutton-browser/trunk/MHEGEngine.c
===================================================================
--- redbutton-browser/trunk/MHEGEngine.c 2007-04-03 15:13:34 UTC (rev 278)
+++ redbutton-browser/trunk/MHEGEngine.c 2007-04-08 11:50:31 UTC (rev 279)
@@ -1448,6 +1448,22 @@
return (*(engine.backend.fns->retune))(&engine.backend, service);
}
+const OctetString *
+MHEGEngine_getRecSvcDef(void)
+{
+static OctetString _TODO = {4,"TODO"};
+printf("TODO: MHEGEngine_getRecSvcDef\n");
+return (const OctetString *) &_TODO;
+}
+
+const OctetString *
+MHEGEngine_getRecSvcCur(void)
+{
+static OctetString _TODO = {4,"TODO"};
+printf("TODO: MHEGEngine_getRecSvcCur\n");
+return (const OctetString *) &_TODO;
+}
+
/*
* returns the absolute group ID, ie it always starts with "~//"
* returns a ptr to static string that will be overwritten by the next call to this routine
Modified: redbutton-browser/trunk/MHEGEngine.h
===================================================================
--- redbutton-browser/trunk/MHEGEngine.h 2007-04-03 15:13:34 UTC (rev 278)
+++ redbutton-browser/trunk/MHEGEngine.h 2007-04-08 11:50:31 UTC (rev 279)
@@ -246,6 +246,9 @@
void MHEGEngine_closeStream(MHEGStream *);
void MHEGEngine_retune(OctetString *);
+const OctetString *MHEGEngine_getRecSvcDef(void);
+const OctetString *MHEGEngine_getRecSvcCur(void);
+
char *MHEGEngine_absoluteFilename(OctetString *);
/* convert PNG to internal format */
Modified: redbutton-browser/trunk/si.c
===================================================================
--- redbutton-browser/trunk/si.c 2007-04-03 15:13:34 UTC (rev 278)
+++ redbutton-browser/trunk/si.c 2007-04-08 11:50:31 UTC (rev 279)
@@ -12,22 +12,48 @@
static int si_max_index = -1;
static OctetString *si_channel = NULL;
+/*
+ * service can be:
+ * "dvb://<original_network_id>.[<transport_stream_id>].<service_id>"
+ * "rec://svc/def" - use the service we are downloading the carousel from
+ * "rec://svc/cur" - use the current service
+ * this will be the same as "def" unless SetData has been called on the StreamClass
+ * "rec://svc/lcn/X" - use logical channel number X (eg 1 for BBC1, 3 for ITV1, etc)
+ *
+ * we resolve whatever we are given to a dvb:// format URL and store that
+ */
+
int
si_get_index(OctetString *ref)
{
int i;
+ /* resolve it to dvb:// format */
+ if(OctetString_strcmp(ref, "rec://svc/def") == 0)
+ {
+ /* promise we wont change it */
+ ref = (OctetString *) MHEGEngine_getRecSvcDef();
+ }
+ else if(OctetString_strcmp(ref, "rec://svc/cur") == 0)
+ {
+ /* promise we wont change it */
+ ref = (OctetString *) MHEGEngine_getRecSvcCur();
+ }
+ else if(OctetString_strncmp(ref, "rec://svc/lcn/", 14) == 0)
+ {
+/* TODO */
+printf("TODO: si_get_index: service='%.*s'\n", ref->size, ref->data);
+ }
+ else if(OctetString_strncmp(ref, "dvb:", 4) != 0)
+ {
+ error("si_get_index: unexpected service '%.*s'", ref->size, ref->data);
+ }
+
/* have we assigned it already */
for(i=0; i<=si_max_index; i++)
if(OctetString_cmp(ref, &si_channel[i]) == 0)
return i;
-/* TODO */
-/* convert rec://svc/{def,cur,lcn/X} to dvb://network.transport.service */
-/* even if we don't have a backend! */
-if(ref->size < 6 || strncmp(ref->data, "dvb://", 6) != 0)
-printf("TODO: si_get_index '%.*s' is not in 'dvb://' format\n", ref->size, ref->data);
-
/* add it to the list */
si_max_index ++;
si_channel = safe_realloc(si_channel, (si_max_index + 1) * sizeof(OctetString));
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: Open M. S. <su...@op...> - 2007-04-03 20:12:41
|
On Tue, April 3, 2007 11:20 pm, Simon Kilvington wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi,
>
> thanks for the patches and the sample app - I've just applied
> the EPG key patch - I'll have a look at implementing the two resident
programmes we need - but I can't see any problems.
Hi Simon.
I've just re-synced off SVN r278.
Still some problems with prog_SI_GetBasicSI returning the wrong values. I=
t
actually looks like si_get_index doesn't like our service URL.
TODO: si_get_index 'rec://svc/def' is not in 'dvb://' format
I added some extra debugging in SI_GetBasicSI so I could see the URL.
ResidentProgram: SI_GetBasicSI("rec://svc/def")
ResidentProgram: SI_GetBasicSI(0, 0, 0, 0, 0)
Then I hard coded the expected return values again and the EPG now works.
ResidentProgram: SI_GetBasicSI(0, 47, 47, 22, 1035)
So it looks like the service index must be wrong.
Steve
--------------------------------------------
OpenMedia Limited
sales - sa...@op...
support - su...@op...
website - http://www.openmedia.co.nz
|
|
From: <ski...@us...> - 2007-04-03 15:13:35
|
Revision: 278
http://svn.sourceforge.net/redbutton/?rev=278&view=rev
Author: skilvington
Date: 2007-04-03 08:13:34 -0700 (Tue, 03 Apr 2007)
Log Message:
-----------
don't give up if we fail to grab the keyboard first time
Modified Paths:
--------------
redbutton-browser/trunk/rb-keymap.c
Modified: redbutton-browser/trunk/rb-keymap.c
===================================================================
--- redbutton-browser/trunk/rb-keymap.c 2007-04-03 14:20:12 UTC (rev 277)
+++ redbutton-browser/trunk/rb-keymap.c 2007-04-03 15:13:34 UTC (rev 278)
@@ -78,8 +78,14 @@
XMapWindow(dpy, win);
/* make sure the Window is Viewable before we call XGrabKeyboard */
XSync(dpy, False);
- if((rc = XGrabKeyboard(dpy, win, False, GrabModeAsync, GrabModeAsync, CurrentTime)) != 0)
- fatal("XGrabKeyboard failed: %d", rc);
+ printf("Trying to grab keyboard");
+ fflush(stdout);
+ while((rc = XGrabKeyboard(dpy, win, False, GrabModeAsync, GrabModeAsync, CurrentTime)) != 0)
+ {
+ printf(".");
+ fflush(stdout);
+ }
+ printf("\n");
for(i=0; keyname[i]; i++)
{
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ski...@us...> - 2007-04-03 14:20:14
|
Revision: 277
http://svn.sourceforge.net/redbutton/?rev=277&view=rev
Author: skilvington
Date: 2007-04-03 07:20:12 -0700 (Tue, 03 Apr 2007)
Log Message:
-----------
service index is signed
Modified Paths:
--------------
redbutton-browser/trunk/ResidentProgramClass.c
Modified: redbutton-browser/trunk/ResidentProgramClass.c
===================================================================
--- redbutton-browser/trunk/ResidentProgramClass.c 2007-04-03 14:16:15 UTC (rev 276)
+++ redbutton-browser/trunk/ResidentProgramClass.c 2007-04-03 14:20:12 UTC (rev 277)
@@ -1031,7 +1031,7 @@
GenericInteger_setInteger(transportStreamId_par, caller_gid, transport_id);
GenericInteger_setInteger(serviceId_par, caller_gid, service_id);
- verbose("ResidentProgram: SI_GetBasicSI(%u, %u, %u, %u, %u)", si, network_id, network_id, transport_id, service_id);
+ verbose("ResidentProgram: SI_GetBasicSI(%d, %u, %u, %u, %u)", si, network_id, network_id, transport_id, service_id);
return true;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ski...@us...> - 2007-04-03 14:16:17
|
Revision: 276
http://svn.sourceforge.net/redbutton/?rev=276&view=rev
Author: skilvington
Date: 2007-04-03 07:16:15 -0700 (Tue, 03 Apr 2007)
Log Message:
-----------
already done that
Modified Paths:
--------------
redbutton-browser/trunk/TODO
Modified: redbutton-browser/trunk/TODO
===================================================================
--- redbutton-browser/trunk/TODO 2007-04-03 14:14:42 UTC (rev 275)
+++ redbutton-browser/trunk/TODO 2007-04-03 14:16:15 UTC (rev 276)
@@ -11,9 +11,6 @@
or fill the frame edges with black
-clear overlay on boot/retune/launch/etc
-
-
use ffmpeg to permenantly scale-up bitmaps in MHEGBitmap_fromRGBA
(rather than having to apply an XRender xform matrix and filter each time)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ski...@us...> - 2007-04-03 14:14:43
|
Revision: 275
http://svn.sourceforge.net/redbutton/?rev=275&view=rev
Author: skilvington
Date: 2007-04-03 07:14:42 -0700 (Tue, 03 Apr 2007)
Log Message:
-----------
SI_GetBasicSI resident programme
Modified Paths:
--------------
redbutton-browser/trunk/ResidentProgramClass.c
redbutton-browser/trunk/si.c
redbutton-browser/trunk/si.h
Modified: redbutton-browser/trunk/ResidentProgramClass.c
===================================================================
--- redbutton-browser/trunk/ResidentProgramClass.c 2007-04-03 13:10:45 UTC (rev 274)
+++ redbutton-browser/trunk/ResidentProgramClass.c 2007-04-03 14:14:42 UTC (rev 275)
@@ -991,6 +991,17 @@
bool
prog_SI_GetBasicSI(LIST_OF(Parameter) *params, OctetString *caller_gid)
{
+ GenericInteger *serviceIndex_par;
+ GenericInteger *networkId_par;
+ GenericInteger *origNetworkId_par;
+ GenericInteger *transportStreamId_par;
+ GenericInteger *serviceId_par;
+ int si;
+ OctetString *url;
+ unsigned int network_id;
+ unsigned int transport_id;
+ unsigned int service_id;
+
if(!check_parameters(params, 5, Parameter_new_generic_integer, /* in: serviceIndex */
Parameter_new_generic_integer, /* out: networkId */
Parameter_new_generic_integer, /* out: origNetworkId */
@@ -1000,8 +1011,28 @@
error("ResidentProgram: SI_GetBasicSI (BSI): wrong number or type of parameters");
return false;
}
-/* TODO */
-printf("TODO: program BSI SI_GetBasicSI\n");
+
+ serviceIndex_par = &(get_parameter(params, 1)->u.new_generic_integer);
+ networkId_par = &(get_parameter(params, 2)->u.new_generic_integer);
+ origNetworkId_par = &(get_parameter(params, 3)->u.new_generic_integer);
+ transportStreamId_par = &(get_parameter(params, 4)->u.new_generic_integer);
+ serviceId_par = &(get_parameter(params, 5)->u.new_generic_integer);
+
+ si = GenericInteger_getInteger(serviceIndex_par, caller_gid);
+ url = si_get_url(si);
+
+ network_id = si_get_network_id(url);
+ transport_id = si_get_transport_id(url);
+ service_id = si_get_service_id(url);
+
+ /* not sure what the difference between the Network ID and the Original Network ID is */
+ GenericInteger_setInteger(networkId_par, caller_gid, network_id);
+ GenericInteger_setInteger(origNetworkId_par, caller_gid, network_id);
+ GenericInteger_setInteger(transportStreamId_par, caller_gid, transport_id);
+ GenericInteger_setInteger(serviceId_par, caller_gid, service_id);
+
+ verbose("ResidentProgram: SI_GetBasicSI(%u, %u, %u, %u, %u)", si, network_id, network_id, transport_id, service_id);
+
return true;
}
Modified: redbutton-browser/trunk/si.c
===================================================================
--- redbutton-browser/trunk/si.c 2007-04-03 13:10:45 UTC (rev 274)
+++ redbutton-browser/trunk/si.c 2007-04-03 14:14:42 UTC (rev 275)
@@ -22,6 +22,12 @@
if(OctetString_cmp(ref, &si_channel[i]) == 0)
return i;
+/* TODO */
+/* convert rec://svc/{def,cur,lcn/X} to dvb://network.transport.service */
+/* even if we don't have a backend! */
+if(ref->size < 6 || strncmp(ref->data, "dvb://", 6) != 0)
+printf("TODO: si_get_index '%.*s' is not in 'dvb://' format\n", ref->size, ref->data);
+
/* add it to the list */
si_max_index ++;
si_channel = safe_realloc(si_channel, (si_max_index + 1) * sizeof(OctetString));
@@ -30,6 +36,18 @@
return si_max_index;
}
+OctetString *
+si_get_url(int index)
+{
+ if(index > si_max_index)
+ {
+ error("SI_GetURL: invalid service index (%d); max is %d", index, si_max_index);
+ return NULL;
+ }
+
+ return &si_channel[index];
+}
+
bool
si_tune_index(int index)
{
@@ -44,12 +62,72 @@
return true;
}
+/*
+ * URL format is:
+ * dvb://original_network_id.[transport_id].service_id
+ * each id is a hex value without any preceeding 0x etc
+ */
+
unsigned int
+si_get_network_id(OctetString *ref)
+{
+ unsigned int pos;
+ unsigned int id;
+
+ if(ref == NULL || ref->size < 6 || strncmp(ref->data, "dvb://", 6) != 0)
+ return 0;
+
+ /* read upto the first . or end of string */
+ id = 0;
+ pos = 6;
+ while(pos < ref->size && isxdigit(ref->data[pos]))
+ {
+ id <<= 4;
+ id += char2hex(ref->data[pos]);
+ pos ++;
+ }
+
+ return id;
+}
+
+unsigned int
+si_get_transport_id(OctetString *ref)
+{
+ unsigned int pos;
+ unsigned int id;
+
+ if(ref == NULL || ref->size < 6 || strncmp(ref->data, "dvb://", 6) != 0)
+ return 0;
+
+ /* find the first . or end of string */
+ pos = 6;
+ while(pos < ref->size && ref->data[pos] != '.')
+ pos ++;
+
+ /* skip the . */
+ pos ++;
+
+ /* read the value */
+ id = 0;
+ while(pos < ref->size && isxdigit(ref->data[pos]))
+ {
+ id <<= 4;
+ id += char2hex(ref->data[pos]);
+ pos ++;
+ }
+
+ return id;
+}
+
+unsigned int
si_get_service_id(OctetString *ref)
{
unsigned int len;
unsigned int id;
+ if(ref == NULL || ref->size < 6 || strncmp(ref->data, "dvb://", 6) != 0)
+ return 0;
+
len = ref->size;
while(len > 0 && isxdigit(ref->data[len - 1]))
len --;
Modified: redbutton-browser/trunk/si.h
===================================================================
--- redbutton-browser/trunk/si.h 2007-04-03 13:10:45 UTC (rev 274)
+++ redbutton-browser/trunk/si.h 2007-04-03 14:14:42 UTC (rev 275)
@@ -8,8 +8,12 @@
#include "der_decode.h"
int si_get_index(OctetString *);
+OctetString *si_get_url(int);
+
bool si_tune_index(int);
+unsigned int si_get_network_id(OctetString *);
+unsigned int si_get_transport_id(OctetString *);
unsigned int si_get_service_id(OctetString *);
void si_free(void);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ski...@us...> - 2007-04-03 13:10:48
|
Revision: 274
http://svn.sourceforge.net/redbutton/?rev=274&view=rev
Author: skilvington
Date: 2007-04-03 06:10:45 -0700 (Tue, 03 Apr 2007)
Log Message:
-----------
CheckContentRef resident programme
Modified Paths:
--------------
redbutton-browser/trunk/ResidentProgramClass.c
Modified: redbutton-browser/trunk/ResidentProgramClass.c
===================================================================
--- redbutton-browser/trunk/ResidentProgramClass.c 2007-04-03 11:18:09 UTC (rev 273)
+++ redbutton-browser/trunk/ResidentProgramClass.c 2007-04-03 13:10:45 UTC (rev 274)
@@ -1022,6 +1022,12 @@
bool
prog_CheckContentRef(LIST_OF(Parameter) *params, OctetString *caller_gid)
{
+ GenericContentReference *refToCheck_par;
+ GenericBoolean *refValid_par;
+ GenericContentReference *refChecked_par;
+ ContentReference *ref;
+ bool valid;
+
if(!check_parameters(params, 3, Parameter_new_generic_content_reference, /* in: ref-to-check */
Parameter_new_generic_boolean, /* out: ref-valid-var */
Parameter_new_generic_content_reference)) /* out: ref-checked-var */
@@ -1029,8 +1035,21 @@
error("ResidentProgram: CheckContentRef (CCR): wrong number or type of parameters");
return false;
}
-/* TODO */
-printf("TODO: program CCR CheckContentRef\n");
+
+ refToCheck_par = &(get_parameter(params, 1)->u.new_generic_content_reference);
+ refValid_par = &(get_parameter(params, 2)->u.new_generic_boolean);
+ refChecked_par = &(get_parameter(params, 3)->u.new_generic_content_reference);
+
+ ref = GenericContentReference_getContentReference(refToCheck_par, caller_gid);
+
+ valid = MHEGEngine_checkContentRef(ref);
+
+ /* output values */
+ GenericBoolean_setBoolean(refValid_par, caller_gid, valid);
+ GenericContentReference_setContentReference(refChecked_par, caller_gid, ref);
+
+ verbose("ResidentProgram: CheckContentRef(\"%.*s\", %s, \"%.*s\")", ref->size, ref->data, valid ? "true" : "false", ref->size, ref->data);
+
return true;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: Simon K. <s.k...@er...> - 2007-04-03 11:20:59
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, thanks for the patches and the sample app - I've just applied the EPG key patch - I'll have a look at implementing the two resident programmes we need - but I can't see any problems. Open Media Support wrote: > OK I've done a quick hack on the rb-browser code to return the same values > as the MythTV MHEG stack for the missing functions. This means that the > test data will now display a semi-working EPG screen. New diff is attached > below. This really is a brute force hack as I'm still trying to understand > the code. > > Steve > > > > -------------------------------------------- > OpenMedia Limited > sales - sa...@op... > support - su...@op... > website - http://www.openmedia.co.nz > > > ------------------------------------------------------------------------ > > Index: ResidentProgramClass.c > =================================================================== > --- ResidentProgramClass.c (revision 272) > +++ ResidentProgramClass.c (working copy) > @@ -991,6 +991,13 @@ > bool > prog_SI_GetBasicSI(LIST_OF(Parameter) *params, OctetString *caller_gid) > { > + GenericInteger *serviceIndex_par; > + GenericInteger *networkId_par; > + GenericInteger *orignetworkId_par; > + GenericInteger *transportId_par; > + GenericInteger *serviceId_par; > + > + int serviceIndex; > if(!check_parameters(params, 5, Parameter_new_generic_integer, /* in: serviceIndex */ > Parameter_new_generic_integer, /* out: networkId */ > Parameter_new_generic_integer, /* out: origNetworkId */ > @@ -1000,8 +1007,23 @@ > error("ResidentProgram: SI_GetBasicSI (BSI): wrong number or type of parameters"); > return false; > } > + serviceIndex_par = &(get_parameter(params, 1)->u.new_generic_integer); > + serviceIndex = GenericInteger_getInteger(serviceIndex_par, caller_gid); > /* TODO */ > -printf("TODO: program BSI SI_GetBasicSI\n"); > +printf("TODO: program BSI SI_GetBasicSI %d %d\n",*serviceIndex_par,serviceIndex); > + > + networkId_par = &(get_parameter(params, 2)->u.new_generic_integer); > + orignetworkId_par = &(get_parameter(params, 3)->u.new_generic_integer); > + transportId_par = &(get_parameter(params, 4)->u.new_generic_integer); > + serviceId_par = &(get_parameter(params, 5)->u.new_generic_integer); > + > + GenericInteger_setInteger(networkId_par, caller_gid, 47); > + GenericInteger_setInteger(orignetworkId_par, caller_gid, 47); > + GenericInteger_setInteger(transportId_par, caller_gid, 22); > + GenericInteger_setInteger(serviceId_par, caller_gid, 1035); > + > +printf("TODO: program BSI SI_GetBasicSI faked return values 47 47 22 1035\n"); > + > return true; > } > > @@ -1022,6 +1044,11 @@ > bool > prog_CheckContentRef(LIST_OF(Parameter) *params, OctetString *caller_gid) > { > + GenericInteger *contentRef_par; > + GenericBoolean *ret_boolean_par; > + GenericInteger *ret_contentRef_par; > + ContentReference ref; > + > if(!check_parameters(params, 3, Parameter_new_generic_content_reference, /* in: ref-to-check */ > Parameter_new_generic_boolean, /* out: ref-valid-var */ > Parameter_new_generic_content_reference)) /* out: ref-checked-var */ > @@ -1029,8 +1056,19 @@ > error("ResidentProgram: CheckContentRef (CCR): wrong number or type of parameters"); > return false; > } > + contentRef_par = &(get_parameter(params, 1)->u.new_generic_integer); > + ret_boolean_par = &(get_parameter(params, 2)->u.new_generic_boolean); > + ret_contentRef_par = &(get_parameter(params, 3)->u.new_generic_integer); > + > + ContentReference *val = GenericContentReference_getContentReference(contentRef_par, caller_gid); > + ref.size = val->size; > + ref.data = val->data; > /* TODO */ > printf("TODO: program CCR CheckContentRef\n"); > + > + GenericBoolean_setBoolean(ret_boolean_par, caller_gid, true); > + GenericContentReference_setContentReference(ret_contentRef_par, caller_gid, &ref); > + verbose("ResidentProgram: CheckContentRef(\"%.*s\")", val->size, val->data); > return true; > } > > Index: rb-keymap.c > =================================================================== > --- rb-keymap.c (revision 272) > +++ rb-keymap.c (working copy) > @@ -47,6 +47,7 @@ > "Yellow", > "Blue", > "Text", > + "EPG", > NULL > }; > int i; > Index: MHEGEngine.c > =================================================================== > --- MHEGEngine.c (revision 272) > +++ MHEGEngine.c (working copy) > @@ -818,6 +818,11 @@ > data.u.integer = EngineEvent_TextKeyFunction; > MHEGEngine_generateAsyncEvent(&app->rootClass.inst.ref, EventType_engine_event, &data); > } > + else if(key == MHEGKey_EPG) > + { > + data.u.integer = EngineEvent_EPGKeyFunction; > + MHEGEngine_generateAsyncEvent(&app->rootClass.inst.ref, EventType_engine_event, &data); > + } > else if(key == MHEGKey_Cancel) > { > data.u.integer = EngineEvent_CancelKeyFunction; > Index: MHEGEngine.h > =================================================================== > --- MHEGEngine.h (revision 272) > +++ MHEGEngine.h (working copy) > @@ -45,6 +45,7 @@ > #define EngineEvent_GreenKeyFunction 101 > #define EngineEvent_YellowKeyFunction 102 > #define EngineEvent_BlueKeyFunction 103 > +#define EngineEvent_EPGKeyFunction 300 > /* all other values are reserved */ > > /* EventTag key numbers for UserInput events */ > @@ -69,6 +70,7 @@ > #define MHEGKey_Yellow 102 > #define MHEGKey_Blue 103 > #define MHEGKey_Text 104 > +#define MHEGKey_EPG 300 > > /* ContentHook values */ > #define ContentHook_Bitmap_MPEG 2 > Index: Makefile > =================================================================== > --- Makefile (revision 272) > +++ Makefile (working copy) > @@ -1,7 +1,7 @@ > CC=gcc > -CFLAGS=-Wall -O2 > +#CFLAGS=-Wall -O2 > # gprof profiling > -#CFLAGS=-Wall -O2 -pg > +CFLAGS=-Wall -O2 -pg -g > > DESTDIR=/usr/local > > Index: MHEGDisplay.c > =================================================================== > --- MHEGDisplay.c (revision 272) > +++ MHEGDisplay.c (working copy) > @@ -60,6 +60,7 @@ > { XK_y, MHEGKey_Yellow }, > { XK_b, MHEGKey_Blue }, > { XK_t, MHEGKey_Text }, > + { XK_e, MHEGKey_EPG }, > { 0, 0 } /* terminator */ > }; > > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys-and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > ------------------------------------------------------------------------ > > _______________________________________________ > Redbutton-devel mailing list > Red...@li... > https://lists.sourceforge.net/lists/listinfo/redbutton-devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.4 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGEjiLmt9ZifioJSwRAkj2AJ4mfuL1cZERG2xeGlIAEJ0TCAiHAgCfUOyp iCIquhWlI4TIxN4lYVbrvjE= =3M9Y -----END PGP SIGNATURE----- |
|
From: <ski...@us...> - 2007-04-03 11:18:13
|
Revision: 273
http://svn.sourceforge.net/redbutton/?rev=273&view=rev
Author: skilvington
Date: 2007-04-03 04:18:09 -0700 (Tue, 03 Apr 2007)
Log Message:
-----------
add EPG key for NZ MHEG profile
Modified Paths:
--------------
redbutton-browser/trunk/MHEGDisplay.c
redbutton-browser/trunk/MHEGEngine.c
redbutton-browser/trunk/MHEGEngine.h
redbutton-browser/trunk/keymap.conf.example
redbutton-browser/trunk/rb-keymap.c
Modified: redbutton-browser/trunk/MHEGDisplay.c
===================================================================
--- redbutton-browser/trunk/MHEGDisplay.c 2007-04-02 08:30:24 UTC (rev 272)
+++ redbutton-browser/trunk/MHEGDisplay.c 2007-04-03 11:18:09 UTC (rev 273)
@@ -60,6 +60,7 @@
{ XK_y, MHEGKey_Yellow },
{ XK_b, MHEGKey_Blue },
{ XK_t, MHEGKey_Text },
+ { XK_e, MHEGKey_EPG },
{ 0, 0 } /* terminator */
};
Modified: redbutton-browser/trunk/MHEGEngine.c
===================================================================
--- redbutton-browser/trunk/MHEGEngine.c 2007-04-02 08:30:24 UTC (rev 272)
+++ redbutton-browser/trunk/MHEGEngine.c 2007-04-03 11:18:09 UTC (rev 273)
@@ -818,6 +818,11 @@
data.u.integer = EngineEvent_TextKeyFunction;
MHEGEngine_generateAsyncEvent(&app->rootClass.inst.ref, EventType_engine_event, &data);
}
+ else if(key == MHEGKey_EPG)
+ {
+ data.u.integer = EngineEvent_EPGKeyFunction;
+ MHEGEngine_generateAsyncEvent(&app->rootClass.inst.ref, EventType_engine_event, &data);
+ }
else if(key == MHEGKey_Cancel)
{
data.u.integer = EngineEvent_CancelKeyFunction;
Modified: redbutton-browser/trunk/MHEGEngine.h
===================================================================
--- redbutton-browser/trunk/MHEGEngine.h 2007-04-02 08:30:24 UTC (rev 272)
+++ redbutton-browser/trunk/MHEGEngine.h 2007-04-03 11:18:09 UTC (rev 273)
@@ -45,6 +45,8 @@
#define EngineEvent_GreenKeyFunction 101
#define EngineEvent_YellowKeyFunction 102
#define EngineEvent_BlueKeyFunction 103
+/* from the NZ profile */
+#define EngineEvent_EPGKeyFunction 300
/* all other values are reserved */
/* EventTag key numbers for UserInput events */
@@ -69,6 +71,7 @@
#define MHEGKey_Yellow 102
#define MHEGKey_Blue 103
#define MHEGKey_Text 104
+#define MHEGKey_EPG 300
/* ContentHook values */
#define ContentHook_Bitmap_MPEG 2
Modified: redbutton-browser/trunk/keymap.conf.example
===================================================================
--- redbutton-browser/trunk/keymap.conf.example 2007-04-02 08:30:24 UTC (rev 272)
+++ redbutton-browser/trunk/keymap.conf.example 2007-04-03 11:18:09 UTC (rev 273)
@@ -19,3 +19,4 @@
F3
F4
i
+e
Modified: redbutton-browser/trunk/rb-keymap.c
===================================================================
--- redbutton-browser/trunk/rb-keymap.c 2007-04-02 08:30:24 UTC (rev 272)
+++ redbutton-browser/trunk/rb-keymap.c 2007-04-03 11:18:09 UTC (rev 273)
@@ -47,6 +47,7 @@
"Yellow",
"Blue",
"Text",
+ "EPG",
NULL
};
int i;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: Open M. S. <su...@op...> - 2007-04-03 03:58:21
|
OK I've done a quick hack on the rb-browser code to return the same value= s as the MythTV MHEG stack for the missing functions. This means that the test data will now display a semi-working EPG screen. New diff is attache= d below. This really is a brute force hack as I'm still trying to understan= d the code. Steve -------------------------------------------- OpenMedia Limited sales - sa...@op... support - su...@op... website - http://www.openmedia.co.nz |
|
From: Open M. S. <su...@op...> - 2007-04-03 00:09:34
|
On Tue, April 3, 2007 11:37 am, Open Media Support wrote: > > Ok finally had a chance to test rb-browser against the NZ profile, and hit some of the same problems we had with the MythTV MHEG stack. > > I've attached a diff against svn to enable the NZ additional EPG key (code 300) to trigger the application. Problem is two key calls are not implemented yet. > > TODO: program BSI SI_GetBasicSI > TODO: program CCR CheckContentRef > > When you press the EPG key (e) the display shows "Loading" and doesn't get any further. These two calls have now been implemented in the MythTV stack - see http://svn.mythtv.org/trac/ticket/3162 for details on the patch. > > I'll try and take a look at how these can be implemented in rb-download= .. Meanwhile here is the diff to enable the EPG key. To assist things further I've created a cache file that can be played bac= k by rb-download - See http://www.mythtv.co.nz/mythtv/mheg5/nz_epg.tgz for details. Note that this is only 76K. If you apply my patch to the rb-browser coder and then run rb-browser -v -d services/1035/ You will see how far the code gets before requiring the additional functi= ons. Steve -------------------------------------------- OpenMedia Limited sales - sa...@op... support - su...@op... website - http://www.openmedia.co.nz -------------------------------------------- OpenMedia Limited sales - sa...@op... support - su...@op... website - http://www.openmedia.co.nz |
|
From: Open M. S. <su...@op...> - 2007-04-02 23:38:19
|
Ok finally had a chance to test rb-browser against the NZ profile, and hi= t some of the same problems we had with the MythTV MHEG stack. I've attached a diff against svn to enable the NZ additional EPG key (cod= e 300) to trigger the application. Problem is two key calls are not implemented yet. TODO: program BSI SI_GetBasicSI TODO: program CCR CheckContentRef When you press the EPG key (e) the display shows "Loading" and doesn't ge= t any further. These two calls have now been implemented in the MythTV stac= k - see http://svn.mythtv.org/trac/ticket/3162 for details on the patch. I'll try and take a look at how these can be implemented in rb-download. Meanwhile here is the diff to enable the EPG key. Steve -------------------------------------------- Steven Ellis - Technical Director OpenMedia Limited - The Home of myPVR support - su...@op... website - http://www.openmedia.co.nz |
|
From: <ski...@us...> - 2007-04-02 08:30:26
|
Revision: 272
http://svn.sourceforge.net/redbutton/?rev=272&view=rev
Author: skilvington
Date: 2007-04-02 01:30:24 -0700 (Mon, 02 Apr 2007)
Log Message:
-----------
fillRectangle scales coords if needed
Modified Paths:
--------------
redbutton-browser/trunk/MHEGDisplay.c
Modified: redbutton-browser/trunk/MHEGDisplay.c
===================================================================
--- redbutton-browser/trunk/MHEGDisplay.c 2007-04-01 18:10:29 UTC (rev 271)
+++ redbutton-browser/trunk/MHEGDisplay.c 2007-04-02 08:30:24 UTC (rev 272)
@@ -388,12 +388,9 @@
MHEGDisplay_clearScreen(MHEGDisplay *d)
{
XYPosition pos = {0, 0};
- OriginalBoxSize box;
+ OriginalBoxSize box = {MHEG_XRES, MHEG_YRES};
MHEGColour black;
- box.x_length = d->xres;
- box.y_length = d->yres;
-
MHEGColour_black(&black);
MHEGDisplay_fillRectangle(d, &pos, &box, &black);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ski...@us...> - 2007-04-01 18:10:54
|
Revision: 271
http://svn.sourceforge.net/redbutton/?rev=271&view=rev
Author: skilvington
Date: 2007-04-01 11:10:29 -0700 (Sun, 01 Apr 2007)
Log Message:
-----------
remove duplicate code
Modified Paths:
--------------
redbutton-browser/trunk/MHEGDisplay.c
Modified: redbutton-browser/trunk/MHEGDisplay.c
===================================================================
--- redbutton-browser/trunk/MHEGDisplay.c 2007-04-01 10:06:49 UTC (rev 270)
+++ redbutton-browser/trunk/MHEGDisplay.c 2007-04-01 18:10:29 UTC (rev 271)
@@ -388,7 +388,7 @@
MHEGDisplay_clearScreen(MHEGDisplay *d)
{
XYPosition pos = {0, 0};
- OriginalBoxSize box = {d->xres, d->yres};
+ OriginalBoxSize box;
MHEGColour black;
box.x_length = d->xres;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ski...@us...> - 2007-04-01 10:06:56
|
Revision: 270
http://svn.sourceforge.net/redbutton/?rev=270&view=rev
Author: skilvington
Date: 2007-04-01 03:06:49 -0700 (Sun, 01 Apr 2007)
Log Message:
-----------
should be able to cope with NZ apps too
Modified Paths:
--------------
www/index.html
Modified: www/index.html
===================================================================
--- www/index.html 2007-04-01 10:01:10 UTC (rev 269)
+++ www/index.html 2007-04-01 10:06:49 UTC (rev 270)
@@ -192,6 +192,8 @@
It will only display apps that conform to the UK MHEG Profile (available from
<A href="http://www.dtg.org.uk/">www.dtg.org.uk</A>).
<P>
+In theory, it should be able to download apps conforming to the NZ MHEG spec and also display them. But I haven't been able to test it and I think the NZ spec has some extra or different key mappings.
+<P>
When it starts you will probably need to press 'r' (for BBC) or 't' (for ITV/C4) to activate
any MHEG app that may be waiting for you to do something.
<P>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ski...@us...> - 2007-04-01 10:01:11
|
Revision: 269
http://svn.sourceforge.net/redbutton/?rev=269&view=rev
Author: skilvington
Date: 2007-04-01 03:01:10 -0700 (Sun, 01 Apr 2007)
Log Message:
-----------
Tagged release 20070401
Added Paths:
-----------
redbutton-download/tags/redbutton-download-20070401/
Copied: redbutton-download/tags/redbutton-download-20070401 (from rev 268, redbutton-download/trunk)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ski...@us...> - 2007-04-01 10:00:37
|
Revision: 268
http://svn.sourceforge.net/redbutton/?rev=268&view=rev
Author: skilvington
Date: 2007-04-01 03:00:35 -0700 (Sun, 01 Apr 2007)
Log Message:
-----------
Tagged release 20070401
Added Paths:
-----------
redbutton-browser/tags/redbutton-browser-20070401/
Copied: redbutton-browser/tags/redbutton-browser-20070401 (from rev 267, redbutton-browser/trunk)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ski...@us...> - 2007-04-01 09:31:53
|
Revision: 267
http://svn.sourceforge.net/redbutton/?rev=267&view=rev
Author: skilvington
Date: 2007-04-01 02:31:49 -0700 (Sun, 01 Apr 2007)
Log Message:
-----------
clear the screen on boot/launch/retune/etc
Modified Paths:
--------------
redbutton-browser/trunk/MHEGDisplay.c
redbutton-browser/trunk/MHEGDisplay.h
redbutton-browser/trunk/MHEGEngine.c
Modified: redbutton-browser/trunk/MHEGDisplay.c
===================================================================
--- redbutton-browser/trunk/MHEGDisplay.c 2007-03-28 15:59:10 UTC (rev 266)
+++ redbutton-browser/trunk/MHEGDisplay.c 2007-04-01 09:31:49 UTC (rev 267)
@@ -384,6 +384,30 @@
return;
}
+void
+MHEGDisplay_clearScreen(MHEGDisplay *d)
+{
+ XYPosition pos = {0, 0};
+ OriginalBoxSize box = {d->xres, d->yres};
+ MHEGColour black;
+
+ box.x_length = d->xres;
+ box.y_length = d->yres;
+
+ MHEGColour_black(&black);
+ MHEGDisplay_fillRectangle(d, &pos, &box, &black);
+
+ /* use the new object we have just drawn */
+ MHEGDisplay_useOverlay(d);
+
+ /* refresh the screen */
+ MHEGDisplay_refresh(d, &pos, &box);
+
+ XFlush(d->dpy);
+
+ return;
+}
+
/*
* all these drawing routines draw onto next_overlay_pic
* all coords should be in the range 0-MHEG_XRES, 0-MHEG_YRES
Modified: redbutton-browser/trunk/MHEGDisplay.h
===================================================================
--- redbutton-browser/trunk/MHEGDisplay.h 2007-03-28 15:59:10 UTC (rev 266)
+++ redbutton-browser/trunk/MHEGDisplay.h 2007-04-01 09:31:49 UTC (rev 267)
@@ -63,6 +63,8 @@
void MHEGDisplay_refresh(MHEGDisplay *, XYPosition *, OriginalBoxSize *);
+void MHEGDisplay_clearScreen(MHEGDisplay *);
+
/* drawing routines */
void MHEGDisplay_setClipRectangle(MHEGDisplay *, XYPosition *, OriginalBoxSize *);
void MHEGDisplay_unsetClipRectangle(MHEGDisplay *);
Modified: redbutton-browser/trunk/MHEGEngine.c
===================================================================
--- redbutton-browser/trunk/MHEGEngine.c 2007-03-28 15:59:10 UTC (rev 266)
+++ redbutton-browser/trunk/MHEGEngine.c 2007-04-01 09:31:49 UTC (rev 267)
@@ -199,6 +199,8 @@
do
{
+ /* clear the display (if you want a splash screen, do it here) */
+ MHEGDisplay_clearScreen(&engine.display);
/* search for the boot object for timeout seconds */
found = false;
gettimeofday(&start, NULL);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ski...@us...> - 2007-03-28 15:59:11
|
Revision: 266
http://svn.sourceforge.net/redbutton/?rev=266&view=rev
Author: skilvington
Date: 2007-03-28 08:59:10 -0700 (Wed, 28 Mar 2007)
Log Message:
-----------
rb-download caches everything
Modified Paths:
--------------
redbutton-browser/trunk/ApplicationClass.c
redbutton-browser/trunk/BitmapClass.c
redbutton-browser/trunk/DynamicLineArtClass.c
redbutton-browser/trunk/EntryFieldClass.c
redbutton-browser/trunk/HyperTextClass.c
redbutton-browser/trunk/RectangleClass.c
redbutton-browser/trunk/RootClass.c
redbutton-browser/trunk/SceneClass.c
redbutton-browser/trunk/SliderClass.c
redbutton-browser/trunk/StreamClass.c
redbutton-browser/trunk/TextClass.c
redbutton-browser/trunk/TokenGroupClass.c
redbutton-browser/trunk/VideoClass.c
Modified: redbutton-browser/trunk/ApplicationClass.c
===================================================================
--- redbutton-browser/trunk/ApplicationClass.c 2007-03-28 15:18:40 UTC (rev 265)
+++ redbutton-browser/trunk/ApplicationClass.c 2007-03-28 15:59:10 UTC (rev 266)
@@ -219,7 +219,11 @@
ApplicationClass_Deactivation(a);
}
-/*TODO caching */
+ /*
+ * spec says we should handle caching here
+ * rb-download caches everything
+ */
+
free_ApplicationClassInstanceVars(&a->inst);
/* generate an IsDeleted event */
@@ -232,10 +236,8 @@
void
ApplicationClass_SetCachePriority(ApplicationClass *t, SetCachePriority *params, OctetString *caller_gid)
{
- verbose("ApplicationClass: %s; SetCachePriority", ExternalReference_name(&t->rootClass.inst.ref));
+ verbose("ApplicationClass: %s; SetCachePriority (ignored)", ExternalReference_name(&t->rootClass.inst.ref));
-/* TODO */
-printf("TODO: ApplicationClass_SetCachePriority not yet implemented\n");
return;
}
Modified: redbutton-browser/trunk/BitmapClass.c
===================================================================
--- redbutton-browser/trunk/BitmapClass.c 2007-03-28 15:18:40 UTC (rev 265)
+++ redbutton-browser/trunk/BitmapClass.c 2007-03-28 15:59:10 UTC (rev 266)
@@ -145,7 +145,11 @@
BitmapClass_Deactivation(t);
}
-/* TODO caching */
+ /*
+ * spec says we should handle caching here
+ * rb-download caches everything
+ */
+
free_BitmapClassInstanceVars(&t->inst);
/* generate an IsDeleted event */
Modified: redbutton-browser/trunk/DynamicLineArtClass.c
===================================================================
--- redbutton-browser/trunk/DynamicLineArtClass.c 2007-03-28 15:18:40 UTC (rev 265)
+++ redbutton-browser/trunk/DynamicLineArtClass.c 2007-03-28 15:59:10 UTC (rev 266)
@@ -101,7 +101,11 @@
DynamicLineArtClass_Deactivation(t);
}
-/* TODO caching */
+ /*
+ * spec says we should handle caching here
+ * rb-download caches everything
+ */
+
free_LineArtClassInstanceVars(&t->inst);
/* generate an IsDeleted event */
Modified: redbutton-browser/trunk/EntryFieldClass.c
===================================================================
--- redbutton-browser/trunk/EntryFieldClass.c 2007-03-28 15:18:40 UTC (rev 265)
+++ redbutton-browser/trunk/EntryFieldClass.c 2007-03-28 15:59:10 UTC (rev 266)
@@ -218,7 +218,11 @@
EntryFieldClass_Deactivation(t);
}
-/* TODO caching */
+ /*
+ * spec says we should handle caching here
+ * rb-download caches everything
+ */
+
free_EntryFieldClassInstanceVars(&t->inst);
/* generate an IsDeleted event */
Modified: redbutton-browser/trunk/HyperTextClass.c
===================================================================
--- redbutton-browser/trunk/HyperTextClass.c 2007-03-28 15:18:40 UTC (rev 265)
+++ redbutton-browser/trunk/HyperTextClass.c 2007-03-28 15:59:10 UTC (rev 266)
@@ -222,7 +222,11 @@
HyperTextClass_Deactivation(t);
}
-/* TODO caching */
+ /*
+ * spec says we should handle caching here
+ * rb-download caches everything
+ */
+
free_HyperTextClassInstanceVars(&t->inst);
/* generate an IsDeleted event */
Modified: redbutton-browser/trunk/RectangleClass.c
===================================================================
--- redbutton-browser/trunk/RectangleClass.c 2007-03-28 15:18:40 UTC (rev 265)
+++ redbutton-browser/trunk/RectangleClass.c 2007-03-28 15:59:10 UTC (rev 266)
@@ -91,7 +91,11 @@
RectangleClass_Deactivation(t);
}
-/* TODO caching */
+ /*
+ * spec says we should handle caching here
+ * rb-download caches everything
+ */
+
free_LineArtClassInstanceVars(&t->inst);
/* generate an IsDeleted event */
Modified: redbutton-browser/trunk/RootClass.c
===================================================================
--- redbutton-browser/trunk/RootClass.c 2007-03-28 15:18:40 UTC (rev 265)
+++ redbutton-browser/trunk/RootClass.c 2007-03-28 15:59:10 UTC (rev 266)
@@ -223,7 +223,10 @@
RootClass_Deactivation(r);
}
-/* TODO caching */
+ /*
+ * spec says we should handle caching here
+ * rb-download caches everything
+ */
/* generate an IsDeleted event */
r->inst.AvailabilityStatus = false;
Modified: redbutton-browser/trunk/SceneClass.c
===================================================================
--- redbutton-browser/trunk/SceneClass.c 2007-03-28 15:18:40 UTC (rev 265)
+++ redbutton-browser/trunk/SceneClass.c 2007-03-28 15:59:10 UTC (rev 266)
@@ -186,7 +186,11 @@
SceneClass_Deactivation(s);
}
-/* TODO caching */
+ /*
+ * spec says we should handle caching here
+ * rb-download caches everything
+ */
+
free_SceneClassInstanceVars(&s->inst);
/* generate an IsDeleted event */
@@ -199,10 +203,8 @@
void
SceneClass_SetCachePriority(SceneClass *t, SetCachePriority *params, OctetString *caller_gid)
{
- verbose("SceneClass: %s; SetCachePriority", ExternalReference_name(&t->rootClass.inst.ref));
+ verbose("SceneClass: %s; SetCachePriority (ignored)", ExternalReference_name(&t->rootClass.inst.ref));
-/* TODO */
-printf("TODO: SceneClass_SetCachePriority not yet implemented\n");
return;
}
Modified: redbutton-browser/trunk/SliderClass.c
===================================================================
--- redbutton-browser/trunk/SliderClass.c 2007-03-28 15:18:40 UTC (rev 265)
+++ redbutton-browser/trunk/SliderClass.c 2007-03-28 15:59:10 UTC (rev 266)
@@ -111,7 +111,11 @@
SliderClass_Deactivation(t);
}
-/* TODO caching */
+ /*
+ * spec says we should handle caching here
+ * rb-download caches everything
+ */
+
free_SliderClassInstanceVars(&t->inst);
/* generate an IsDeleted event */
Modified: redbutton-browser/trunk/StreamClass.c
===================================================================
--- redbutton-browser/trunk/StreamClass.c 2007-03-28 15:18:40 UTC (rev 265)
+++ redbutton-browser/trunk/StreamClass.c 2007-03-28 15:59:10 UTC (rev 266)
@@ -233,7 +233,12 @@
}
/* RootClass Destruction */
-/* TODO caching */
+
+ /*
+ * spec says we should handle caching here
+ * rb-download caches everything
+ */
+
free_StreamClassInstanceVars(&t->inst);
/* generate an IsDeleted event */
Modified: redbutton-browser/trunk/TextClass.c
===================================================================
--- redbutton-browser/trunk/TextClass.c 2007-03-28 15:18:40 UTC (rev 265)
+++ redbutton-browser/trunk/TextClass.c 2007-03-28 15:59:10 UTC (rev 266)
@@ -214,7 +214,11 @@
TextClass_Deactivation(t);
}
-/* TODO caching */
+ /*
+ * spec says we should handle caching here
+ * rb-download caches everything
+ */
+
free_TextClassInstanceVars(&t->inst);
/* generate an IsDeleted event */
Modified: redbutton-browser/trunk/TokenGroupClass.c
===================================================================
--- redbutton-browser/trunk/TokenGroupClass.c 2007-03-28 15:18:40 UTC (rev 265)
+++ redbutton-browser/trunk/TokenGroupClass.c 2007-03-28 15:59:10 UTC (rev 266)
@@ -114,7 +114,11 @@
if(!RootClass_Destruction(&t->rootClass))
return;
-/* TODO caching */
+ /*
+ * spec says we should handle caching here
+ * rb-download caches everything
+ */
+
free_TokenGroupClassInstanceVars(&t->inst);
return;
Modified: redbutton-browser/trunk/VideoClass.c
===================================================================
--- redbutton-browser/trunk/VideoClass.c 2007-03-28 15:18:40 UTC (rev 265)
+++ redbutton-browser/trunk/VideoClass.c 2007-03-28 15:59:10 UTC (rev 266)
@@ -151,7 +151,11 @@
VideoClass_Deactivation(t);
}
-/* TODO caching */
+ /*
+ * spec says we should handle caching here
+ * rb-download caches everything
+ */
+
free_VideoClassInstanceVars(&t->inst);
/* generate an IsDeleted event */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ski...@us...> - 2007-03-28 15:18:43
|
Revision: 265
http://svn.sourceforge.net/redbutton/?rev=265&view=rev
Author: skilvington
Date: 2007-03-28 08:18:40 -0700 (Wed, 28 Mar 2007)
Log Message:
-----------
UK MHEG Profile says we don't support PaletteClass
Modified Paths:
--------------
redbutton-browser/trunk/MHEGColour.c
Modified: redbutton-browser/trunk/MHEGColour.c
===================================================================
--- redbutton-browser/trunk/MHEGColour.c 2007-03-28 15:07:00 UTC (rev 264)
+++ redbutton-browser/trunk/MHEGColour.c 2007-03-28 15:18:40 UTC (rev 265)
@@ -15,10 +15,9 @@
{
case Colour_colour_index:
/* index into the palette */
-/****************************************************************************/
-/* will need PaletteRef as a param too */
-/****************************************************************************/
-fatal("MHEGColour_fromColour: need palette! (index=%d)", in->u.colour_index);
+ error("MHEGColour_fromColour: PaletteClass not supported (index=%d)", in->u.colour_index);
+ /* UK MHEG Profile says we don't support Palettes, so choose a default colour */
+ MHEGColour_black(out);
break;
case Colour_absolute_colour:
@@ -61,10 +60,9 @@
case NewColour_new_colour_index:
/* index into the palette */
index = GenericInteger_getInteger(&in->u.new_colour_index, caller_gid);
-/****************************************************************************/
-/* will need PaletteRef as a param too */
-/****************************************************************************/
-fatal("MHEGColour_fromNewColour: need palette! (index=%d)", index);
+ error("MHEGColour_fromNewColour: PaletteClass not supported (index=%d)", index);
+ /* UK MHEG Profile says we don't support Palettes, so choose a default colour */
+ MHEGColour_black(out);
break;
case NewColour_new_absolute_colour:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ski...@us...> - 2007-03-28 15:07:02
|
Revision: 264
http://svn.sourceforge.net/redbutton/?rev=264&view=rev
Author: skilvington
Date: 2007-03-28 08:07:00 -0700 (Wed, 28 Mar 2007)
Log Message:
-----------
UK MHEG Profile says we don't support PaletteClass
Modified Paths:
--------------
redbutton-browser/trunk/BitmapClass.c
redbutton-browser/trunk/DynamicLineArtClass.c
redbutton-browser/trunk/EntryFieldClass.c
redbutton-browser/trunk/HyperTextClass.c
redbutton-browser/trunk/RectangleClass.c
redbutton-browser/trunk/SliderClass.c
redbutton-browser/trunk/TextClass.c
Modified: redbutton-browser/trunk/BitmapClass.c
===================================================================
--- redbutton-browser/trunk/BitmapClass.c 2007-03-28 14:58:34 UTC (rev 263)
+++ redbutton-browser/trunk/BitmapClass.c 2007-03-28 15:07:00 UTC (rev 264)
@@ -382,10 +382,9 @@
void
BitmapClass_SetPaletteRef(BitmapClass *t, SetPaletteRef *params, OctetString *caller_gid)
{
- verbose("BitmapClass: %s; SetPaletteRef", ExternalReference_name(&t->rootClass.inst.ref));
+ /* UK MHEG Profile says we don't support PaletteClass */
+ error("BitmapClass: %s; SetPaletteRef not supported", ExternalReference_name(&t->rootClass.inst.ref));
-/* TODO */
-printf("TODO: BitmapClass_SetPaletteRef not yet implemented\n");
return;
}
Modified: redbutton-browser/trunk/DynamicLineArtClass.c
===================================================================
--- redbutton-browser/trunk/DynamicLineArtClass.c 2007-03-28 14:58:34 UTC (rev 263)
+++ redbutton-browser/trunk/DynamicLineArtClass.c 2007-03-28 15:07:00 UTC (rev 264)
@@ -331,10 +331,9 @@
void
DynamicLineArtClass_SetPaletteRef(DynamicLineArtClass *t, SetPaletteRef *params, OctetString *caller_gid)
{
- verbose("DynamicLineArtClass: %s; SetPaletteRef", ExternalReference_name(&t->rootClass.inst.ref));
+ /* UK MHEG Profile says we don't support PaletteClass */
+ error("DynamicLineArtClass: %s; SetPaletteRef not supported", ExternalReference_name(&t->rootClass.inst.ref));
-/* TODO */
-printf("TODO: DynamicLineArtClass_SetPaletteRef not yet implemented\n");
return;
}
Modified: redbutton-browser/trunk/EntryFieldClass.c
===================================================================
--- redbutton-browser/trunk/EntryFieldClass.c 2007-03-28 14:58:34 UTC (rev 263)
+++ redbutton-browser/trunk/EntryFieldClass.c 2007-03-28 15:07:00 UTC (rev 264)
@@ -372,10 +372,9 @@
void
EntryFieldClass_SetPaletteRef(EntryFieldClass *t, SetPaletteRef *params, OctetString *caller_gid)
{
- verbose("EntryFieldClass: %s; SetPaletteRef", ExternalReference_name(&t->rootClass.inst.ref));
+ /* UK MHEG Profile says we don't support PaletteClass */
+ error("EntryFieldClass: %s; SetPaletteRef not supported", ExternalReference_name(&t->rootClass.inst.ref));
-/* TODO */
-printf("TODO: EntryFieldClass_SetPaletteRef not yet implemented\n");
return;
}
Modified: redbutton-browser/trunk/HyperTextClass.c
===================================================================
--- redbutton-browser/trunk/HyperTextClass.c 2007-03-28 14:58:34 UTC (rev 263)
+++ redbutton-browser/trunk/HyperTextClass.c 2007-03-28 15:07:00 UTC (rev 264)
@@ -376,10 +376,9 @@
void
HyperTextClass_SetPaletteRef(HyperTextClass *t, SetPaletteRef *params, OctetString *caller_gid)
{
- verbose("HyperTextClass: %s; SetPaletteRef", ExternalReference_name(&t->rootClass.inst.ref));
+ /* UK MHEG Profile says we don't support PaletteClass */
+ error("HyperTextClass: %s; SetPaletteRef not supported", ExternalReference_name(&t->rootClass.inst.ref));
-/* TODO */
-printf("TODO: HyperTextClass_SetPaletteRef not yet implemented\n");
return;
}
Modified: redbutton-browser/trunk/RectangleClass.c
===================================================================
--- redbutton-browser/trunk/RectangleClass.c 2007-03-28 14:58:34 UTC (rev 263)
+++ redbutton-browser/trunk/RectangleClass.c 2007-03-28 15:07:00 UTC (rev 264)
@@ -300,10 +300,9 @@
void
RectangleClass_SetPaletteRef(RectangleClass *t, SetPaletteRef *params, OctetString *caller_gid)
{
- verbose("RectangleClass: %s; SetPaletteRef", ExternalReference_name(&t->rootClass.inst.ref));
+ /* UK MHEG Profile says we don't support PaletteClass */
+ error("RectangleClass: %s; SetPaletteRef not supported", ExternalReference_name(&t->rootClass.inst.ref));
-/* TODO */
-printf("TODO: RectangleClass_SetPaletteRef not yet implemented\n");
return;
}
Modified: redbutton-browser/trunk/SliderClass.c
===================================================================
--- redbutton-browser/trunk/SliderClass.c 2007-03-28 14:58:34 UTC (rev 263)
+++ redbutton-browser/trunk/SliderClass.c 2007-03-28 15:07:00 UTC (rev 264)
@@ -255,10 +255,9 @@
void
SliderClass_SetPaletteRef(SliderClass *t, SetPaletteRef *params, OctetString *caller_gid)
{
- verbose("SliderClass: %s; SetPaletteRef", ExternalReference_name(&t->rootClass.inst.ref));
+ /* UK MHEG Profile says we don't support PaletteClass */
+ error("SliderClass: %s; SetPaletteRef not supported", ExternalReference_name(&t->rootClass.inst.ref));
-/* TODO */
-printf("TODO: SliderClass_SetPaletteRef not yet implemented\n");
return;
}
Modified: redbutton-browser/trunk/TextClass.c
===================================================================
--- redbutton-browser/trunk/TextClass.c 2007-03-28 14:58:34 UTC (rev 263)
+++ redbutton-browser/trunk/TextClass.c 2007-03-28 15:07:00 UTC (rev 264)
@@ -451,10 +451,9 @@
void
TextClass_SetPaletteRef(TextClass *t, SetPaletteRef *params, OctetString *caller_gid)
{
- verbose("TextClass: %s; SetPaletteRef", ExternalReference_name(&t->rootClass.inst.ref));
+ /* UK MHEG Profile says we don't support PaletteClass */
+ error("TextClass: %s; SetPaletteRef not supported", ExternalReference_name(&t->rootClass.inst.ref));
-/* TODO */
-printf("TODO: TextClass_SetPaletteRef not yet implemented\n");
return;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|