CR:Change preference initial time for dbus-server
"Zheng, Huan" <[email protected]>
| Newsgroups | gmane.comp.multimedia.helix.devel,gmane.spam.detected |
|---|---|
| Message-ID | <EFE0C8A50A5D94448E3C7DD762E4FAA201876085@pdsmsx413.ccr.corp.intel.com> |
CR: Change preference initial time for dbus-server
Synopsis:
Change preference initial time
Overview:
Related bug 8256: can't config video size and text size in
.hxdbussvrrc file
Currently, preference data initilization is on the dbus level, that
is preference data is initialed when dbus session is established, and
preference data is restored to disk when dbus session is closed. So,
after changed .hxdbussvrrc user have to restart dbus session to let it
take effect. But user may want preference data be initialed and take
effect when player is opened. So this patch changes preference data
initial and restore/release time, make it take effect on the player
level.
So that user can just restart RP4Mid to let changing .hxdbussvrrc
take effect.
Files Added:
None
Files Modified:
helix-dbus-server-main.cpp:
(player/kit/dbus-server/src/helix-dbus-server-main.cpp)
Remove preference data initial and restore/release code
hxplayer.cpp: (player/kit/dbus-server/src/hxplayer.cpp)
Add preference data initial and release code
Image Size and Heap Use impact (Client -Only):
little
Platforms and Profiles Affected:
platform: linux-2.2-libc6-gcc32-i586
profile: helix-client-all-defines
Distribution Libraries Affected:
<helix-dbus-server.bin>
Distribution library impact and planned action:
<None>
Platforms and Profiles Build Verified:
Set BIF branch -> hxdbus_3_1_0_atlas
Set Target(s) -> dbus_server_with_video
Set Profile -> helix-client-all-defines
System ID -> linux-2.2-libc6-gcc32-i586
Branch:
HEAD, hxclient_3_1_0_atlas
Copyright assignment: <MUST be one of the following statements >
2. Intel has signed and delivered a Joint Copyright Assignment
to RealNetworks, and received acknowledgment that the
agreement was received.
Files Attached:
pref_load.diff
Best Regards, Zheng, Huan(ZBT)
OTC/SSD/SSG
Intel Aisa-Pacific Research & Developement Ltd
Tel: 021-6116 6435
Inet: 8821 6435
Cub: 3W035
_______________________________________________
Helix-client-dev mailing list
[email protected]
http://lists.helixcommunity.org/mailman/listinfo/helix-client-dev
pref_load.diff
(application/octet-stream, 2.7 KB)
Index: dbus-server/src/helix-dbus-server-main.cpp
===================================================================
RCS file: /cvsroot/player/kit/dbus-server/src/helix-dbus-server-main.cpp,v
retrieving revision 1.2.2.9
diff -u -w -r1.2.2.9 helix-dbus-server-main.cpp
--- dbus-server/src/helix-dbus-server-main.cpp 24 Apr 2008 08:40:39 -0000 1.2.2.9
+++ dbus-server/src/helix-dbus-server-main.cpp 29 May 2008 02:38:25 -0000
@@ -89,9 +89,6 @@
DBusError error;
HelixDbusServer *server;
const gchar *env_path;
- char config_file[50];
- sprintf(config_file, "%s/.hxdbussvrrc", getenv("HOME"));
- normal_pref_init(config_file);
if(!XInitThreads())
{
@@ -173,7 +170,5 @@
dbus_connection_setup_with_g_main(connection, g_main_loop_get_context(loop));
g_main_loop_run(loop);
- normal_pref_commit(config_file);
- normal_pref_finish();
exit(0);
}
Index: dbus-server/src/hxplayer.cpp
===================================================================
RCS file: /cvsroot/player/kit/dbus-server/src/hxplayer.cpp,v
retrieving revision 1.2.2.29
diff -u -w -r1.2.2.29 hxplayer.cpp
--- dbus-server/src/hxplayer.cpp 16 May 2008 02:30:15 -0000 1.2.2.29
+++ dbus-server/src/hxplayer.cpp 29 May 2008 02:38:25 -0000
@@ -74,6 +74,7 @@
guint pumpSourceID;
bool bPump;
int size_mode;
+ bool bPref_initialed;
};
struct TnPlayer {
HxPlayer *thumb_nail_service;
@@ -564,6 +565,7 @@
hxplayer->bInitialized =0;
hxplayer->pumpSourceID = 0;
hxplayer->size_mode = 0;
+ hxplayer->bPref_initialed = FALSE;
ClientEngineSetCallbacks(&CLIENT_ENGINE_CALLBACKS);
@@ -617,6 +619,14 @@
hxplayer_free(hxplayer);
}
+ if (!hxplayer->bPref_initialed)
+ {
+ char config_file[50];
+ sprintf(config_file, "%s/.hxdbussvrrc", getenv("HOME"));
+ normal_pref_init(config_file);
+ hxplayer->bPref_initialed = TRUE;
+ }
+
hxplayer->bInitialized =0;
gdk_flush();
pWrapForeignWindow = gdk_window_foreign_new(xid);
@@ -654,6 +664,8 @@
{
free(hxplayer->window);
hxplayer->window = NULL;
+ normal_pref_finish(); //free all pref data
+ hxplayer->bPref_initialed = FALSE;
return FALSE;
}
@@ -873,6 +885,15 @@
int state_bak = hxplayer->state;
gpointer user_info_bak = hxplayer->user_info;
+ if (hxplayer->bPref_initialed)
+ {
+ char config_file[50];
+ sprintf(config_file, "%s/.hxdbussvrrc", getenv("HOME"));
+ normal_pref_commit(config_file);
+ normal_pref_finish();
+ hxplayer->bPref_initialed = FALSE;
+ }
+
memset(hxplayer,0,sizeof(HxPlayer));
hxplayer->message_cb = message_cb_bak;
hxplayer->signal_cb = signal_cb_bak;