Enhance thumbnail generation library
"Zhao, Halley" <[email protected]> Mon, 14 Sep 2009 14:26:05 +0800
| Newsgroups | gmane.comp.multimedia.helix.devel |
|---|---|
| Message-ID | <8FED46E8A9CA574792FC7AACAC38FE770286F59A68@PDSMSX501.ccr.corp.intel.com> |
Synopsis:
1. Add user data for callback function of metadata tags: GetMediaInfo()
2. Add definition of Helix tags in header file (hxthumb.h).
3. Use Realplayer default installation path (/usr/local/real/RealPlayer) for thumbnail library when $HELIX_THUMB_LIBS or $HELIX_THUMB_LIBS are not set.
Overview:
Files Added:
No file added
Files Modified:
player/kit/thumbnail/src/CHXClientThumbnailUnix.cpp
use Realplayer installation path: /usr/local/real/RealPlayer
player/kit/thumbnail/src/hxthumb.cpp
player/kit/thumbnail/test/main.cpp
Add user data for callback function of metadata tags
player/kit/thumbnail/pub/hxthumb.h
Add definition of Helix tags in header file (hxthumb.h)
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:
<libhxthumb.so>
Distribution library impact and planned action:
<None>
Platforms and Profiles Build Verified:
Set BIF branch -> hxclient_3_1_0_atlas
Set Target(s) -> dtdr_thumb_generator
Set Profile -> helix-client-all-defines
System ID -> linux-2.2-libc6-gcc32-i586
Branch:
HEAD/hxclient_3_1_0
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:
audio-device-period.diff.txt
? helix-thumb.pc
? player_kit_thumbnail.diff.txt
Index: pub/hxthumb.h
===================================================================
RCS file: /cvsroot/player/kit/thumbnail/pub/hxthumb.h,v
retrieving revision 1.1.2.1
diff -u -w -r1.1.2.1 hxthumb.h
--- pub/hxthumb.h 28 Aug 2009 00:26:59 -0000 1.1.2.1
+++ pub/hxthumb.h 14 Sep 2009 04:57:24 -0000
@@ -49,6 +49,18 @@
#ifndef _HX_THUMBNAIL_H_
#define _HX_THUMBNAIL_H_
+
+#define HELIX_TAG_TITLE "Title"
+#define HELIX_TAG_AUTHOR "Author"
+#define HELIX_TAG_ABSTRACT "Abstract"
+#define HELIX_TAG_GENRE "Genre"
+#define HELIX_TAG_DURATION "Duration"
+#define HELIX_TAG_COPYRIGHT "Copyright"
+#define HELIX_TAG_MIMETYPE "MimeType"
+#define HELIX_TAG_CHANNELS "NumChannels"
+#define HELIX_TAG_BITSPERSAMPLE "SrcBitsPerSample"
+#define HELIX_TAG_SAMPLERATE "SampleRate"
+
typedef enum {
eDtdrUnknown,
eDtdrInt32,
@@ -61,7 +73,7 @@
#endif /* __cplusplus */
int GetVideoFrame(const char* uri, const char* file, unsigned int * pWidth, unsigned int * pHeight, unsigned int position);
- const char* GetMetaData(const char* uri, DtdriverMediainfoProcPtr dtdr_mediainfo_callback);
+ const char* GetMetaData(const char* uri, DtdriverMediainfoProcPtr dtdr_mediainfo_callback, void* user_data);
#ifdef __cplusplus
}
#endif /* __cplusplus */
Index: src/CHXClientThumbnailUnix.cpp
===================================================================
RCS file: /cvsroot/player/kit/thumbnail/src/CHXClientThumbnailUnix.cpp,v
retrieving revision 1.1.2.1
diff -u -w -r1.1.2.1 CHXClientThumbnailUnix.cpp
--- src/CHXClientThumbnailUnix.cpp 28 Aug 2009 00:26:59 -0000 1.1.2.1
+++ src/CHXClientThumbnailUnix.cpp 14 Sep 2009 04:57:24 -0000
@@ -412,7 +412,9 @@
char dllhome[MAX_PATH] = ".";
const char* pszHelixLibs = getenv("HELIX_THUMB_LIBS");
if (pszHelixLibs)
+ {
SafeStrCpy(dllhome, pszHelixLibs, MAX_PATH);
+ }
else
{
pszHelixLibs = getenv("HELIX_LIBS");
@@ -423,7 +425,7 @@
if(!pszHelixLibs || access(dllhome, F_OK)) // HELIX_LIBS isn't set, or, HELIX_LIBS/thumbnail doesn't exist
{
- SafeStrCpy(dllhome, "/opt/helix/mediaplatform/thumbnail", MAX_PATH);
+ SafeStrCpy(dllhome, "/usr/local/real/RealPlayer", MAX_PATH);
}
}
Index: src/hxthumb.cpp
===================================================================
RCS file: /cvsroot/player/kit/thumbnail/src/hxthumb.cpp,v
retrieving revision 1.1.2.1
diff -u -w -r1.1.2.1 hxthumb.cpp
--- src/hxthumb.cpp 28 Aug 2009 00:26:59 -0000 1.1.2.1
+++ src/hxthumb.cpp 14 Sep 2009 04:57:24 -0000
@@ -327,7 +327,7 @@
-const char* GetMetaData(const char* uri, DtdriverMediainfoProcPtr dtdr_mediainfo_callback)
+const char* GetMetaData(const char* uri, DtdriverMediainfoProcPtr dtdr_mediainfo_callback, void* user_data)
{
const char* return_value = NULL;
bool retcode = false;
@@ -352,7 +352,7 @@
return NULL;
}
- retcode = GetMediaInfo(uri,dtdr_mediainfo_callback, NULL,&return_value);
+ retcode = GetMediaInfo(uri,dtdr_mediainfo_callback, user_data,&return_value);
ReleaseThumbnail();
Index: test/main.cpp
===================================================================
RCS file: /cvsroot/player/kit/thumbnail/test/main.cpp,v
retrieving revision 1.1.2.1
diff -u -w -r1.1.2.1 main.cpp
--- test/main.cpp 28 Aug 2009 00:27:00 -0000 1.1.2.1
+++ test/main.cpp 14 Sep 2009 04:57:24 -0000
@@ -64,7 +64,7 @@
if(argc ==3)
{
- if(GetMetaData(uri,_dtdr_mediainfo_callback))
+ if(GetMetaData(uri,_dtdr_mediainfo_callback,NULL))
return 0;
else
return -1;
ZHAO, Halley (Aihua)
Email: [email protected]<BLOCKED::mailto:[email protected]>
Tel: +86(21)61166476
iNet: 8821-6476
SSG/OTC/Moblin 3W038 Pole: F4
_______________________________________________
Helix-client-dev mailing list
[email protected]
http://lists.helixcommunity.org/mailman/listinfo/helix-client-dev
player_kit_thumbnail.diff.txt
(text/plain, 3.8 KB)
? helix-thumb.pc
? player_kit_thumbnail.diff.txt
Index: pub/hxthumb.h
===================================================================
RCS file: /cvsroot/player/kit/thumbnail/pub/hxthumb.h,v
retrieving revision 1.1.2.1
diff -u -w -r1.1.2.1 hxthumb.h
--- pub/hxthumb.h 28 Aug 2009 00:26:59 -0000 1.1.2.1
+++ pub/hxthumb.h 14 Sep 2009 04:57:24 -0000
@@ -49,6 +49,18 @@
#ifndef _HX_THUMBNAIL_H_
#define _HX_THUMBNAIL_H_
+
+#define HELIX_TAG_TITLE "Title"
+#define HELIX_TAG_AUTHOR "Author"
+#define HELIX_TAG_ABSTRACT "Abstract"
+#define HELIX_TAG_GENRE "Genre"
+#define HELIX_TAG_DURATION "Duration"
+#define HELIX_TAG_COPYRIGHT "Copyright"
+#define HELIX_TAG_MIMETYPE "MimeType"
+#define HELIX_TAG_CHANNELS "NumChannels"
+#define HELIX_TAG_BITSPERSAMPLE "SrcBitsPerSample"
+#define HELIX_TAG_SAMPLERATE "SampleRate"
+
typedef enum {
eDtdrUnknown,
eDtdrInt32,
@@ -61,7 +73,7 @@
#endif /* __cplusplus */
int GetVideoFrame(const char* uri, const char* file, unsigned int * pWidth, unsigned int * pHeight, unsigned int position);
- const char* GetMetaData(const char* uri, DtdriverMediainfoProcPtr dtdr_mediainfo_callback);
+ const char* GetMetaData(const char* uri, DtdriverMediainfoProcPtr dtdr_mediainfo_callback, void* user_data);
#ifdef __cplusplus
}
#endif /* __cplusplus */
Index: src/CHXClientThumbnailUnix.cpp
===================================================================
RCS file: /cvsroot/player/kit/thumbnail/src/CHXClientThumbnailUnix.cpp,v
retrieving revision 1.1.2.1
diff -u -w -r1.1.2.1 CHXClientThumbnailUnix.cpp
--- src/CHXClientThumbnailUnix.cpp 28 Aug 2009 00:26:59 -0000 1.1.2.1
+++ src/CHXClientThumbnailUnix.cpp 14 Sep 2009 04:57:24 -0000
@@ -412,7 +412,9 @@
char dllhome[MAX_PATH] = ".";
const char* pszHelixLibs = getenv("HELIX_THUMB_LIBS");
if (pszHelixLibs)
+ {
SafeStrCpy(dllhome, pszHelixLibs, MAX_PATH);
+ }
else
{
pszHelixLibs = getenv("HELIX_LIBS");
@@ -423,7 +425,7 @@
if(!pszHelixLibs || access(dllhome, F_OK)) // HELIX_LIBS isn't set, or, HELIX_LIBS/thumbnail doesn't exist
{
- SafeStrCpy(dllhome, "/opt/helix/mediaplatform/thumbnail", MAX_PATH);
+ SafeStrCpy(dllhome, "/usr/local/real/RealPlayer", MAX_PATH);
}
}
Index: src/hxthumb.cpp
===================================================================
RCS file: /cvsroot/player/kit/thumbnail/src/hxthumb.cpp,v
retrieving revision 1.1.2.1
diff -u -w -r1.1.2.1 hxthumb.cpp
--- src/hxthumb.cpp 28 Aug 2009 00:26:59 -0000 1.1.2.1
+++ src/hxthumb.cpp 14 Sep 2009 04:57:24 -0000
@@ -327,7 +327,7 @@
-const char* GetMetaData(const char* uri, DtdriverMediainfoProcPtr dtdr_mediainfo_callback)
+const char* GetMetaData(const char* uri, DtdriverMediainfoProcPtr dtdr_mediainfo_callback, void* user_data)
{
const char* return_value = NULL;
bool retcode = false;
@@ -352,7 +352,7 @@
return NULL;
}
- retcode = GetMediaInfo(uri,dtdr_mediainfo_callback, NULL,&return_value);
+ retcode = GetMediaInfo(uri,dtdr_mediainfo_callback, user_data,&return_value);
ReleaseThumbnail();
Index: test/main.cpp
===================================================================
RCS file: /cvsroot/player/kit/thumbnail/test/main.cpp,v
retrieving revision 1.1.2.1
diff -u -w -r1.1.2.1 main.cpp
--- test/main.cpp 28 Aug 2009 00:27:00 -0000 1.1.2.1
+++ test/main.cpp 14 Sep 2009 04:57:24 -0000
@@ -64,7 +64,7 @@
if(argc ==3)
{
- if(GetMetaData(uri,_dtdr_mediainfo_callback))
+ if(GetMetaData(uri,_dtdr_mediainfo_callback,NULL))
return 0;
else
return -1;