Re: Add a library for thumbnail generation based on dtdriver

Gregory Wright <[email protected]>
Newsgroups gmane.comp.multimedia.helix.devel
Message-ID <[email protected]>
? common-include-hxsrcin_h.diff.txt
Index: hxsrcin.h
===================================================================
RCS file: /cvsroot/common/include/hxsrcin.h,v
retrieving revision 1.6
diff -u -w -r1.6 hxsrcin.h
--- hxsrcin.h	12 Nov 2008 13:32:27 -0000	1.6
+++ hxsrcin.h	24 Aug 2009 07:41:08 -0000
@@ -281,4 +281,9 @@
  DEFINE_SMART_PTR(IHXSourceInput)
  DEFINE_SMART_PTR(IHXSourceHandler)

+#if ( !defined(_HXSRCIN_H_) || !defined(HELIX_FEATURE_FULLGUID) )
+DEFINE_GUID_ENUM(IID_IHXSourceInput,                0xebf8d220,  
0x40f7, 0x11d6, 0xab, 0x3f, 0x0, 0x1, 0x2, 0x51, 0xb3, 0x40)
+DEFINE_GUID_ENUM(IID_IHXSourceHandler,              0xb2646da0,  
0x410a, 0x11d6, 0xab, 0x3f, 0x0, 0x1, 0x2, 0x51, 0xb3, 0x40)
+#endif
+
  #endif  // _HXSRCIN_H_

why do you have that code? IID_IHXSourceHandler and  
IID_IHXSourceHandler is already defined
in that file. I also don't understand the double _HXSRCIN_H_ macro.


> player/kit/thumbnail

That is a good name to check it in under.



> 2. Remove gtk dependency for this module, but use gdk-pixbuf only(it  
> depends on glib-2.0). SetSDKPath("gdk-pixbuf", "/usr/include/ 
> gtk-2.0") is used in buildrc.

I would be good to get rid of all platform dependancies and use
some cross platform solution. However, that can wait.

The rest looks good.
--greg.





On Aug 24, 2009, at 2:15 AM, Zhao, Halley wrote:

> Hi Greg:
> Here is my follow up:
> 1. Remove some unused code, and replace ULONG32 to UINT32.
>
> 2. Remove gtk dependency for this module, but use gdk-pixbuf only(it  
> depends on glib-2.0). SetSDKPath("gdk-pixbuf", "/usr/include/ 
> gtk-2.0") is used in buildrc.
>
> 3. for cross-platform support, only CColourConvert::RGBRaw2PNG is  
> related.
> I add #ifdef _LINUX for Linux platform.
>
> 4. IID_IHXSourceInput is moved to common/include/hxsrcin.h
>
> 5. as to player/common/dtdr_service/thumbnail_service; I hadn't  
> noticed that before.
> There is no big difference, but I create a shared library to be used  
> directly (with additional dependency); and a callback function of  
> dtdr_mediainfo_callback make the app deal with metadata freely,  as  
> well as above changes to remove gtk dependency.
> I had planed to check in it to player/kit/thumbnail since I think it  
> is a development kit library used by app.
> Any suggestion
>
>
> -----Original Message-----
> From: Gregory Wright [mailto:[email protected]]
> Sent: Wednesday, August 19, 2009 10:25 PM
> To: Zhao, Halley
> Cc: '[email protected]'
> Subject: Re: [Helix-client-dev] Add a library for thumbnail  
> generation based on dtdriver
>
> 	ULONG32 width;
> 	ULONG32 height;
> 	ULONG32 dataLen;
> 	ULONG32 bitsPerPixel;
>
> ULONG32 is deprecated, please use UINT32 instead.
>
>     //BOOL m_bWriteBinary;
>     //BOOL m_bShowProgress;
>
> No need to leave in commented code like that, just remove it.
> Also, BOOL is deprecated, please use HXBOOL.
>
>
>
> --------------- From the unix.pcf file: ---------
> # on gcc we want to turn on all warnings
> extra_cflags = ""
> using_gcc = 0
> if string.find(platform.cc.cmd, 'gcc') != -1:
>     using_gcc = 1
>     extra_cflags = "-Wall"
>
> # grab flags from pkgconfig
> import shell
> import string
>
> # see if we're using the target gtk version (triggers setting of the
> # DISABLE_DEPRECATED flag)
>
> (exitstatus, gtk_mod_version) = shell.run("pkg-config --modversion gtk
> +-2.0")
> -------------------------
>
> Why do we need GTK stuff if this is a non GUI thumbnail generator?
> Just left
> over from the old project? It seems this should be made as cross
> platform as
> we can and not tied to GTK or Qt or whatever, even on linux. I also
> don't think
> it is proper to mess with the GCC flags in there, you could be using a
> different
> compiler on differ unix systems. Is that needed?
>
> I also see that you have GDK includes in other source files. What are
> they used for,
> just image conversion? Is it cross platform? Does it ship with all
> UNIX systems? Is
> it a free license? If it is required to use the code then we need to
> think about SDK
> entries in the build system and stuff like that...<gdk-pixbuf/gdk-
> pixbuf.h>.
>
>
> #if ( !defined(_HXSRCIN_H_) || !defined(HELIX_FEATURE_FULLGUID) )
> DEFINE_GUID_ENUM(IID_IHXSourceInput,                0xebf8d220,
> 0x40f7, 0x11d6, 0xab, 0x3f, 0x0, 0x1, 0x2, 0x51, 0xb3, 0x40)
> DEFINE_GUID_ENUM(IID_IHXSourceHandler,              0xb2646da0,
> 0x410a, 0x11d6, 0xab, 0x3f, 0x0, 0x1, 0x2, 0x51, 0xb3, 0x40)
> #endif
>
> it is strange to see that in a project's source tree, those should
> generally be defined
> in a header file in common/include and then brought into a local
> guilds.cpp file.
>
>
> Where are you thinking about checking this is at? player/common/
> dtdr_service/thumbnail_service?
> What is the difference between your code and the code that is already
> there?
>
> All changes will need to be checked into 310Atlas and HEAD as well  
> when
> the CR is done. So, you will need to modify the helix.bif and 310atlas
> BIF files.
>
>
> --greg.
>
>
>
> On Aug 17, 2009, at 2:02 AM, Zhao, Halley wrote:
>
>> Synopsis:
>>    Add a new library to create thumbnail based on dtdriver;
>>    it could extract thumbnail/metadata from media stream.
>>
>> Overview:
>>    There use to be some function in hxclientkit to create thumbnail.
>>    while these function doesn't tight to hxclientkit (only depend
>> on dtdriver),
>>    and the feature is used not limit to Helix player; for example:
>> some daemon
>>    for media discover and file browser could use it, etc.
>>    so I try to create this separate library to provide simplified
>> interface:
>>        bool GetVideoFrame(const char* uri, const char* file,
>> unsigned int position=0 );
>>        const char* GetMetaData(const char* uri,
>> DtdriverMediainfoProcPtr dtdr_mediainfo_callback);
>>
>> Files Added:
>>    |-- thumbnail
>>    |   |-- LICENSE.txt
>>    |   |-- RCSL.txt
>>    |   |-- RPSL.txt
>>    |   |-- Umakefil
>>    |   |-- pub
>>    |   |   |-- CHXClientThumbnailUnix.h
>>    |   |   `-- hxthumb.h
>>    |   |-- src
>>    |   |   |-- CHXClientThumbnailUnix.cpp
>>    |   |   |-- hxthumb.cpp
>>    |   |   `-- thumbGuids.cpp
>>    |   |-- test
>>    |   |   |-- Umakefil
>>    |   |   |-- main.cpp
>>    |   |   `-- unix.pcf
>>    |   |-- thumbnail.exp
>>    |   `-- unix.pcf
>>
>>    only hxthumb.cpp and thumbGuids.cpp are newly added source files.
>>    test/main.cpp is a sample to use this library.
>>
>> Files Modified:
>>    player/thumbnail/CHXClientThumbnailUnix.cpp
>>    hxclient_3_4_1_atlas.bif
>>
>> 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:
>>    add this library to the bundle package of Helix based player
>> Platforms and Profiles Build Verified:
>>    Set BIF branch  -> hxclient_3_4_1_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_4_1_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:
>>    hxclient_3_4_1_atlas.bif.diff.txt, thumbnail.tgz
>> ZHAO, Halley (Aihua)
>> Email: [email protected]
>> Tel: +86(21)61166476
>> iNet: 8821-6476
>> SSG/OTC/Moblin 3W038 Pole: F4
>>
>> <
>> thumbnail.tgz
>>>
>> <
>> hxclient_3_4_1_atlas.bif.diff.txt
>>> _______________________________________________
>> Helix-client-dev mailing list
>> [email protected]
>> http://lists.helixcommunity.org/mailman/listinfo/helix-client-dev
>
> <thumbnail.tgz><common-include- 
> hxsrcin_h.diff.txt><hxclient_3_1_0_atlas.bif.diff.txt>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.