Saturday, November 14, 2009



uMediaPlayer for Android : I have released the new application in Android Market this week.

uMediaPlayer is a simple media player based on some UPnP/AV specifications to connect other UPnP/AV and DLNA devices for Android Phones. Using the application, you can play contents on media servers of UPnP/AV and DLNA.

Thursday, October 22, 2009



iLifeScale : The application was released on AppStore for iPhone and iPod touch from yesterday. iLifeScale application allows you to easily record your weight on a daily basis.

Please check the application in more detail on the public site or AppStore.

Wednesday, September 16, 2009



iLifeTrack : The application was released on AppStore for iPhone 3G or 3GS from yesterday.

iLifeTrack is a sport type GPS application with data logger on your iPhone 3G or 3GS. It has an embedded HTTP server based on UPnP specification to export the recorded routes, then you can get the routes by standard browsers such as Internet Explore and Safari to use the routes with other applications or Web services such as Google Earth or Google Map easily.

Please check the application in more detail on the my public site or AppStore.

Monday, February 16, 2009



iNetFrame : I have fixed the following problem of Picasa, and the new version was released as v1.1.2 from yesterday.

*v1.1.2 
- Rebuild with iPhone SDK v2.2.1
- Fixed to get all photo images in user's albums of Picasa.

Friday, February 13, 2009



iMediaSuite : The new version has been released in AppStore as v1.2 from yesterday . The new features are below.

* Rebuild with iPhone SDK v2.2.1
* Added a play button into the navigation bar to play the all image and audio contents automatically in the current container.
* Changed the image viewer to flip the next or prev image by the swipe gestures.
* Changed the audio player using AVAudioPlayer instead of MPMoviePlayerController.
* Added a shuffle and interval option for the auto play mode.
* Added a save button in the photo viewer to store the selected image into your camera roll.
* Fixed to activate the spinning cog for searching the renderer devices in the setting mode.
* Changed to display a warning message in the renderer mode when the renderer device isn't selected.
* Changed to push a url of the highest image into the renderer device.

Saturday, January 17, 2009



iMediaSuite : The new version has been released in AppStore as v1.0.1 from yesterday . The new features are below.

* Rebuild with iPhone SDK v2.2.
* Supported some incompatibility UPnP/AV devices such as XMBC Media Center and MediaLink.
* Supported to get thumbnail icon from the UPnP/AV media servers in the player and the renderer mode.
* Changed the image viewer to play in full screen without the navigation bar and the status bar.
* Changed to get a lowest image url when a image content is selected in the player mode.
* Fixed a memory leak when an image content is selected in the player mode.
* Fixed the server image list under iPhone Human Interface Guidelines.
* Disable the idel timer as default.
* Changed only the startup image.

Sunday, January 04, 2009



iNetFrame : The new version has been released in AppStore as v1.1 from this week . The new features are below.

* Changed to use digital fonts for the calender mode.
* Added the following settings for the slide show.
Order by Sequential or Random, Effect by Fade or Wipe.
* Added the background color settings for the calender mode.

Tuesday, November 25, 2008



iNetFrame : is a digital photo frame application to play searched photo images from Flickr and Picasa on the Internet, or UPnP/AV servers such as DLNA in your home network. You can play the slide show on the full screen mode or with the calender.

Please check the application in more detail on the public site or AppStore



iMediaSuite : The application was released on AppStore for iPhone and iPod touch from yesterday.

iMediaSuite is based on some UPnP/AV specifications to connect other UPnP/AV and DLNA devices for iPhone and iPod touch users. Using the application, you can play contents on media servers of UPnP/AV and DLNA, and share images in your picture library in your home network.

Please check the application in more detail on the public site or AppStore.

CyberLink for C v2.3 : I have released the new package of the latest source codes as v2.3 today.

From this release, I have merged some standards implementations such as UPnP/AV into the 'std' directory. The UPnP/AV package was called as Cyber Media Gate. I will deprecate the separate package.

For developers for MacOSX, I have released the framework package for MacOSX too as CyberLink for MacOSX.

The following are major changes from v2.2. Please check it :-)
2008-10-31  Satoshi Konno 
* v2.3
* Added UPnP/AV package in std/av as a sample implementation.
* Added the following classes of Objective-C for MacOSX and iPhone
CGUpnpAvContainer
CGUpnpAvContentDirectory
CGUpnpAvContentManager
CGUpnpAvController
CGUpnpAvItem
CGUpnpAvObject
CGUpnpAvRenderer
CGUpnpAvResource
CGUpnpAvRoot
CGUpnpAvServer

2008-09-26 Satoshi Konno
* Fixed the following methods correctly
cg_upnp_device_setmanufacture() -> cg_upnp_device_setmanufacturer()
cg_upnp_device_getmanufacture() -> cg_upnp_device_getmanufacturer()
cg_upnp_device_setmanufactureurl() -> cg_upnp_device_setmanufacturerurl()
cg_upnp_device_getmanufactureurl() -> cg_upnp_device_getmanufacturerurl()
* Fixed cg_net_uri_unescapestring() to compile normally on WIN32 platforms.
* Changed to include in on XCode as default.
* Enabled SO_REUSEPORT in cg_socket_setreuseaddress() on MacOSX and iPhone platforms.
* Disabled signal in cg_thread_stop_with_cond() on MacOSX and iPhone platforms.
* Enabled libxml2 as default using TARGET_OS_IPHONE macro on iPhone and iPhone-Simulator.
* Added cg_xml_node_copy().
* Changed cg_upnp_device_ssdpmessagereceived() to return the response more shortly.
* Fixed cg_net_selectaddr() to get a correct address on iPhone and iPhone-Simulator.

2008-08-21 Satoshi Konno
* Fixed some warnings using GCC v4.0.1.
* Added the following macros.
cg_string_getintvalue()
cg_string_getlongvalue()
cg_xml_node_getintvalue()
cg_xml_node_getlongvalue()
cg_xml_node_getchildnodeintvalue()
cg_xml_node_getchildnodelongvalue()
* Changed the following functions to return an integer value instead of a string.
cg_upnp_icon_getwidth()
cg_upnp_icon_getheight()
cg_upnp_icon_getdepth()

Sunday, June 08, 2008

CyberLink for MacOSX : is a wrapper class of CyberLink for C to develop UPnP applications using only Objective-C 2.0. I have uploaded the install package for MacOSX Leopard based on CyberLink for C v2.2

Currently, the framework supports only basic functions of the control point like CyberLink for Perl, but it can get the C instance object using cObject method. Please use the C functions directly if you have to use other methods which are not supported in the framework :-)

Friday, June 06, 2008

CyberLink for C v2.2 : I have released the new package of the latest source codes as v2.2 today.

It will be a last release in the current license condition. From next release, we will remove the patent exclusion clause from the current license based on BSD.

The following are major changes from v2.1. Please check it :-)
2008-05-24  Satoshi Konno
* Added cg_xml_nodelist_getbyname() instead of cg_xml_nodelist_get().
* Added cg_xml_node_getchildnodebyname() instead of cg_xml_node_getchildnode().
* Deprecated cg_xml_nodelist_get() and cg_xml_node_getchildnode().
* Added support to include "expat/expat.h".
* Added a simple sample for UPnP/AV, upnpavdump, to parser the content lists of the media servers.
* Added a simple sample for UPnP/IGD, upnpigddump, to show the status parser of the internet gateway devices.
2008-05-14 Satoshi Konno
* Changed typedef.h about BOOL type using Objective-C for XCode.
* Changed cg_cond_signal() using SetEvent() instead of WaitForSingleObject() for WIN32 platform.
* Fixed cg_xml_parse() not to abort when the data is null or the length less than zero.
* Enabled cg_net_gethostinterfaces() for MacOSX in cinterface_function.c using __APPLE_CC_ macro.
2008-04-22 Satoshi Konno
* Added cg_upnp_controlpoint_getdevice() to get a device by the index.
* Added cg_upnp_device_getnservices() and cg_upnp_device_getservice() to get a device by the index.
2008-03-17 Satoshi Konno
* Changed not to define BOOL type using Objective-C for XCode.
* Added to check IP_PKTINFO into configure.in.
* Changed the following functions using void parameter instead of CgService not to conflict the prototype defines.
cg_upnp_event_notify_request_setpropertysetnode() and cg_upnp_subscriber_notifyall() using GCC v4.0.
* Fixed cg_socket_setid() to disable the IPPROTO_IP option using XCode 3.0.
* Fixed other errors using XCode 3.0.
2007-12-24 Satoshi Konno
* Added CG_UPNP_ST_URN and cg_upnp_st_isurn() to .
* Changed cg_upnp_device_ssdpmessagereceived() using cg_upnp_st_isurn() instead of cg_upnp_st_isurndevice() to find non standard UPnP devices.
* Changed cg_upnp_service_ssdpmessagereceived() using cg_upnp_st_isurn() instead of cg_upnp_st_isurnservice() to find non standard UPnP devices.
* Fixed cg_upnp_device_getservicebycontrolurl() to abort when the service_url is null.
* Fixed cg_string_naddvalue() to comipler using other compilers normally.
* Added cg_upnp_statevariable_setvaluewithoutnotify() not to send the updated value for other devices which subscribe the service of the state variable.
* Deprecated cg_upnp_service_notifyallstatevariables(). Use cg_upnp_service_notifyall which can send the events individually or collectively.
2007-12-13 Aapo Makela
* Multiple patches to fix crashes in out-of-memory situations
* Implemented more efficient reallocation policy in CgString
* Added proper control point locking in control point HTTP server
2007-11-16 Satoshi Konno
* Fixed cg_http_packet_read_body()not to lost data when the response packet is huge.
2007-10-22 Aapo Makela
* Added deb-target to Makefile.am to build Debian packages
* Fixed copyright notices in source files to match the copyright defined in COPYING
* Added NULL check to cg_strtrimwhite()
* Added NULL checks and fixed memory leaks in cg_net_selectaddr() and cg_net_gethostinterfaces()
* Disabled "Expect" HTTP header because it causes IOP issues with some UPnP implementations.
* Added NULL check to cg_xml_node_getchildnode() macro
* Fixed Debian specific files and added debug package building
2007-10-02 Satoshi Konno
* Changed cg_thread_() to return FALSE when the specified object is null.
* Added cg_http_server_lock() and cg_http_server_unlock().
* Fixed cg_http_server_clientthread() to remove the thread from the thread list.
2007-09-13 Satoshi Konno
* Added the following functions to get MAC address.
* cg_net_interface_setmacaddress(), cg_net_interface_getmacaddress()
* Changed cg_net_gethostinterfaces() to get the MAC address using GetAdaptersInfo() as default on Windows platform.
* Changed cg_net_gethostinterfaces() to get the MAC address using ioctl() on Linux platform.
* Changed cg_net_gethostinterfaces() to get the MAC address using getifaddrs() on other UNIX platform.
* Note : Other platforms might not support to get this functions yet.
2007-08-19 Satoshi Konno
* Added the following functions into
cg_file_setpath()
cg_file_setfilename()
2007-07-25 Satoshi Konno
* Added the following macros into
cg_file_isseparatorchar()
cg_file_ispathseparatorchar()
2007-07-18 Satoshi Konno
* Added the following functions to support more raw functions.
cg_file_open()
cg_file_close()
cg_file_write()
cg_file_read()
cg_file_seek()
2007-06-26 Satoshi Konno
* Added CgByte to typedef.h
2007-06-13 Fabrice Fontaine Orange
* Fixed a memory leak in cg_http_request_delete().
* Fixed compilation issue when using DCG_UPNP_NOUSE_CONTROLPOINT flag in cg_upnp_device_updatefromssdppacket().
* Fixed a memory leak in cg_upnp_device_getservicebycontrolurl().
* Fixed cg_thread_start(). Threads used to answer UPnP requests are created
in joinable state but the main thread doesn't call pthread_join on them.
So, they are kept alive until the end of the program. By creating them
in detached state, they are correctly clean up.
* Fixed cg_thread_stop_with_cond() to wait one second for thread termination instead of using pthread_join().
2007-06-06 Satoshi Konno
* Added checking 64 bit support, long long, to the configure.in for GCC.
* Fixed to compile cg_str2longlong() and cg_longlong2str() using GCC.
* Fixed cg_longlong2str() to return the buffer using GCC or ISOC99.
2007-03-20 Satoshi Konno
* Added a parameter, CgString, to return the result safety and the implementation without curl for the following functions.
cg_net_uri_unescapestring() and cg_net_uri_escapestring().
* Added a define, CG_USE_NET_URI_ESCAPESTRING_SKIP,in cg_net_uri_escapestring() and disabled the function not to skip only the first path.
* Changed cg_upnp_device_httprequestrecieved() using the new cg_net_uri_unescapestring().
* Added the following functions.
cg_net_uri_isreservedchar()
cg_net_uri_isunreservedchar()
cg_net_uri_isescapechar()
cg_net_uri_isalphanumchar()
* Fixed cg_net_uri_escapestring() to use curl_escape() instead of curl_unescape().
* Fixed cg_net_uri_unescapestring() to use curl_unescape() instead of curl_escape().
2007-03-18 Satoshi Konno
* Added CgInt64 to
* Changed the following functions to use CgInt64.
cg_longlong2str()
cg_http_packet_setheaderlonglong()
cg_http_packet_getheaderlonglong()
* Disable CG_USE_OPENSSL for Visual Studio projects as default.
2007-03-11 Satoshi Konno
* Added support of OpenSSL to socket functions in csocket.c.
* Added CG_USE_OPENSSL define and --enable-openssl option to disable the SSL functions as default.
* Added cg_https_request_post().
* Changed a compiler flag about file functions from USE_CFILE to CG_USE_CFILE.
* Added a framework of CppUnit.
2007-03-05 Satoshi Konno
* Changed cg_string_setnvalue() to use memcpy instead of strncpy().
* Added a parameter of the string length for cg_string_setpointervalue() and to set a binary data.
* Added a parameter of the string length for the following functions too.
cg_http_packet_setcontentpointer(), cg_http_request_setcontentpointer() and cg_http_response_setcontentpointer().
* Fixed cg_http_packet_read_body() to set the correct content length if the response has a field of the content length.
2007-02-25 Satoshi Konno
* Added cg_xml_attribute_remove().

Friday, December 21, 2007




VL-SP880 : I am checking the door phone adaptor based on PLC, Power Line Communications, from last week in my home. I have interested in the adaptor because it can display the camera image into TV over PLC based on TCP/IP.

As a result, I know that the adaptor is based on UPnP :-) For example, the adaptor sends the notify message using GENA when the button of the door phone is pressed.

I will connect the adaptor with the current door phone in my home, I am considering the applications now .....

Thursday, June 07, 2007

BitTorrent : I was developing a library based on BitTorrent to study about the implementation of P2P networking before, but I stopped the development because I have no idea about the application which I want to create.

However I will restart the development project because I would like to create some useful applications which are based on P2P such as Joost.

I have added the current codes into the new project on SourceForge now. The following sample shows how to get the peers of the specified torrent using the current library.
#include <cybergarage/bittorrent/cbittorrent.h>
int main(int argc, char* argv[])
{
CgBittorrentMetainfo *cbm;
CgBittorrentTracker *cbt;
CgBittorrentPeer *cbp;
int n;
if (argc < 2) {
printf("Usage : printpeers <Torrent URL>\n");
return -1;
}
cbm = cg_bittorrent_metainfo_new();
if (cg_bittorrent_metainfo_fetch(cbm, argv[1]) == FALSE) {
printf("Couldn't get the specified torrent file <%s>\n", argv[1]);
return -1;
}

cbt = cg_bittorrent_tracker_new();
cg_bittorrent_tracker_load(
cbt , 
cbm,
(unsigned char *)CDIST_TEST_TRACKER_PEERID,
"",
CDIST_TEST_TRACKER_PORT,
CDIST_TEST_TRACKER_UPLOADED,
CDIST_TEST_TRACKER_DOWNLOADED,
CDIST_TEST_TRACKER_LEFT,
TRUE,
CG_BITTORRENT_TRACKER_EVENT_STARTED,
CDIST_TEST_TRACKER_NUMWANT
);
n = 0;
for (cbp = cg_bittorrent_tracker_getpeers(cbt); cbp; cbp = cg_bittorrent_peer_next(cbp)) {
n++;
printf("[%d] %s:%d\n",
n,
cg_bittorrent_peer_getaddress(cbp),
cg_bittorrent_peer_getport(cbp));
}
cg_bittorrent_tracker_delete(cbt);
cg_bittorrent_metainfo_delete(cbm);
return 0;
}
To compile the sample, you have to install the latest CyberLink for C from the SVN. Please use the following commands to check the simple sample if you want.
$ svn co https://cgbittorrent.svn.sourceforge.net/svnroot/cgbittorrent/trunk 
$ cgbittorrent
$ cd cgbittorrent/
$ ./boostrap
$ ./configure
$ make
$ ./sample/printpeers/unix/printpeers http://torrent.fedoraproject.org/torrents/Zod-dvd-i386.torrent
[1] 80.xx3.x5x.x6:688x
[2] x4.x93.x03.8x:344x3
[3] x9x.x00.x5.x45:x88x
[4] x9.37.xxx.50:407
[5] 59.xx7.x70.x07:448xx
..........
[46] x43.88.x4.x40:x88x
[47] 85.8x.x59.x8x:x88x
[48] xx7.xx.x78.x7:x54xx
[49] 8x.8x.xx0.xx3:x7779
[50] x00.x0x.84.33:x88x
Currently, there are many implementations based on Bittorrent. I will implement the basic functions about the BitTorrent specification at first, then I will develop the uniqueness.

Tuesday, May 29, 2007



Wiimote for C++ : I have released the C++ library for Wiimote. I would like to release the library for any platforms such as Linux and MacOSX finally, but I have released it only for WIN32 platforms at the first release.

The package includes the most simple sample which outputs data of a Wiimore to the standard console. The main source code is the following.
#include <stdio.h>
#include <cybergarage/wii/Wiimote.h>
using namespace CyberGarage;
int main( int argc, char *argv[] )
{
 Wiimote *wiimote;
 wiimote = new Wiimote();
 if (wiimote->open() == false) {
  delete wiimote;
  printf("Could not find Wiimote !!");
  return 0;
 }
 do {
  wiimote->read();
  printf("\r%+d %+d %+d %s %s %s %s %s %s %s %s %s %s %s",
   (wiimote->getXMotion()-0x80),
   (wiimote->getYMotion()-0x80),
   (wiimote->getZMotion()-0x80),
   (wiimote->IsAPressed() ? "A" : " "),
   (wiimote->IsBPressed() ? "B" : " "),
   (wiimote->IsOnePressed() ? "1" : " "),
   (wiimote->IsTwoPressed() ? "2" : " "),
   (wiimote->IsUpPressed() ? "U" : " "),
   (wiimote->IsDownPressed() ? "D" : " "),
   (wiimote->IsLeftPressed() ? "L" : " "),
   (wiimote->IsRightPressed() ? "R" : " "),
   (wiimote->IsMinusPressed() ? "-" : " "),
   (wiimote->IsPlusPressed() ? "+" : " "),
   (wiimote->IsHomePressed() ? "H" : " ")
   );
  Sleep(100);
 } while (wiimote->IsHomePressed() == false);
 wiimote->close();
 delete wiimote;
 return 0;
}
Please check the document how to use the library in more detail :-)

Saturday, May 26, 2007

Cyber Media Gate for C : is a tiny protocol stack of UPnP/AV based on CyberLink for C, and I have released the new version as v1.2 today. The major changes are bellow.
* Added installer projects for the WIN32 samples.
* Added the following functions to set attributes of DLNA.
cg_upnp_media_resource_setdlnaattribute()
cg_upnp_media_resource_getdlnaattribute()
cg_upnp_media_resource_getdlnapnfrommimetype()
* Updated cg_upnp_dms_filesys_updatecontentlist() to set the attributes of DLNA.
* Updated cg_upnp_dms_youtube_updaterootcontentlist() to set the attributes of DLNA.
* Added to the device description as default.
* Changed the device description to set a static UDN as default.
* Changed cg_upnp_media_resource_setsize() not to set the attribute when the specified value less than zero.
I have updated the two samples, Cyber Media Gate for YoutTube and Cyber Media Gate for Windows Mobile, using the new library too.

Please check the download site to get the new library and samples.

Thursday, May 17, 2007



Wiimote : I am studying about a remote control of Wii now, and I am developing the prototype driver on WIN32 platform at first. I would like to release the driver for Virtual Reality for any platform such as other my drivers for Java3D.

Please check the current source codes if you want. To run the sample program, you have to install CyberX3D for C++ currently.

Sunday, March 11, 2007


Flash Player for Youtube : I have wrote a simple application that can see video contents of Youtube only by remote control such as Rimo. I would like to optimize the application for Wii, but I don't buy Wii in my home yet X-<

I wrote the client only using Flash 8, and the main source code of ActionScript is the following. You can get the all source codes that includes the flash file and the server side file from the link.
var rssXML = new XML();
rssXML.ignoreWhite = true;

var rssItemNum = 0;
var rssItemTitle = new Array();
var rssItemURL = new Array();
var currtemNum = 0;

function updateItem(xml) {
var channelNode = xml.firstChild.firstChild;
var channelNodesNum = channelNode.childNodes.length;
if (channelNodesNum <= 0)
return;
rssItemNum = 0;
rssItemTitle = new Array();
rssItemURL = new Array();
for(var i = 0; i < channelNodesNum; i ++) {
if(channelNode.childNodes[i].nodeName.toLowerCase() == "item") {
var itemNodesNum = channelNode.childNodes[i].childNodes.length;
var itemName = "";
var itemUrl = "";
for(var j = 0; j < itemNodesNum; j ++) {
if(channelNode.childNodes[i].childNodes[j].nodeName.toLowerCase() == "title") {
itemName = schannelNode.childNodes[i].childNodes[j].firstChild.nodeValue;
}
if(channelNode.childNodes[i].childNodes[j].nodeName.toLowerCase() == "link") {
itemUrl = channelNode.childNodes[i].childNodes[j].firstChild.nodeValue;
}
}
rssItemNum++;
rssItemTitle.push(itemName);
rssItemURL.push(itemUrl);
}
}
}
rssXML.onLoad = function(result) {
if (!result)
return;
updateItem(this);
if (0 < rssItemNum) {
flvMedia.stop();
flvMedia.contentPath = rssItemURL[0];
flvMedia.play(0);
}
}
rssXML.load("http://www.cybergarage.org/flash/youtube.xml");

function updataContentIndex(offset)
{
currtemNum += offset;
if (currtemNum < 0)
currtemNum = rssItemNum-1;
if ((rssItemNum-1) < currtemNum)
currtemNum = 0;
}

var flvPlayListener:Object = new Object();
flvPlayListener.complete = function(){
updataContentIndex(1);
flvMedia.stop();
flvMedia.contentPath = rssItemURL[currtemNum];
flvMedia.play(0);
}
flvMedia.addEventListener("complete",flvPlayListener);

var keyListener = new Object();
keyListener.onKeyDown = function() {
if (Key.getCode() == Key.RIGHT) {
updataContentIndex(1);
flvMedia.stop();
flvMedia.contentPath = rssItemURL[currtemNum];
flvMedia.play(0);
}
if (Key.getCode() == Key.LEFT) {
updataContentIndex(-1);
flvMedia.stop();
flvMedia.contentPath = rssItemURL[currtemNum];
flvMedia.play(0);
}
}

Key.addListener(keyListener);
I wrote a php file for the client to output a RSS format of YouTube :: Recently Featured that includes URLs of the FLV files directly. To run this sample of PHP, you might have to add the following patch into HTTP.php because the head function might ignore query strings of the specified URL.
# diff HTTP.120.php HTTP.php
153a154,155
> if (0 < @strlen($purl['query']))
> $path = $purl['path'] . "?" . $purl['query'];
Please check it :-)

Friday, February 23, 2007

CyberLink for C v2.1 : I have released the new version today. The major changes are bellow.
* Changed cg_http_request_post() to add a user agent, CyberGarage-HTTP/1.0, as default.
* Changed CG_HTTP_USERAGENT to CG_HTTP_USERAGENT_DEFAULT to add CG_HTTP_USERAGENT as the normal header define.
* Changed cg_http_packet_sethost() not to the port string for lighttpd when the port number is 80.
* Fixed cg_str2*() to return 0 when the parameter is null.
* Fixed cg_http_request_post() not to hung up when the request method is HEAD.
* Added a onlyHeader parameter to cg_http_response_read() and cg_http_response_packet().
* Added CG_HTTP_USERAGENT when CyberLink doesn't use CURL.
* Fixed to compile normally on the release mode for Windows Mobile.
* Added USE_CFILE define and --enable-cfile option to disable the file functions as default.
* Disabled cg_file*() as default.
* Disabled cg_upnp_device_loaddescriptionfile() as default.
* Added cg_filelist_*().
* Added cg_file_listfiles().
* Fixed to compile normally for WindowsCE platforms using Visual Studio 2005 and Windows Mobile 5.0 Pocket PC SDK.
* Changed WindowsCE flags from _WIN32_WCE to WINCE.
* Added time() and localtime() in src/cybergarage/util/ctime_win32.c only for WINCE platforms.
* Changed cg_log_print() for WIN32 platforms.
* Changed to use cg_strdup() instead of strdup() in clog.c.
* Added cg_http_request_settimeout() and cg_http_request_gettimeout().
* Added cg_http_response_settimeout() and cg_http_response_gettimeout().
* Added cg_http_server_settimeout() and cg_http_server_gettimeout().
I have released the protocol stack of UPnP/AV using SVN too. The package includes some samples about the implementation of the media server such as Youtube and Windows Mobile.

Please check it :-)

Wednesday, January 31, 2007



Cyber Media Gate for Windows Mobile : I have released a new UPnP/AV media server based on CyberLink for C today.

The media server is builded as an application of Windows Mobile 5.0.

The media server publishes the all photo images in the photo directory, My Pictures, using UPnP/AV protocols, so you can see the all photo images on TV easily using UPnP/AV players such as DLNA media players.

You can use the application as a digital photo frame because the media server shows the photo images by rotation.

I installed the application into W-ZERO3[es] which has the WiFi card, IMSW-822, so I can see the photo images on TV using VGP-MR100 in my home :-)

This page is powered by Blogger. Isn't yours?