|
List Info
Thread: CR: Fixed the build depedency (bif) and streamtype mismatch fo
|
|
| CR: Fixed the build depedency (bif) and
streamtype mismatch fo |
  United States |
2007-09-13 08:29:17 |
My comments on these changes:
if project.IsDefined("HELIX_FEATURE_SERVER"):
- MultiTargetMake("aviffdll")
+
MultiTargetMake("avifflib","aviffdll")
No need to change if HELIX_FEATURE_SERVER is defined -
this does not affect the client, and we should not
change the server builds.
-#if 0 // JPEGPayloadFormat not supported (yet)
+// #if 0 // JPEGPayloadFormat not supported (yet)
No need to keep this - just remove it.
if (!m_bLocalPlayback)
{
+ // ASSERT(0);
+#if 0 // JPEGPayloadFormat not supported (yet)
m_pPayloadFormatter = new
JPEGPayloadFormat();
This should not be ifdef'd out. if (!m_bLocalPlayback)
means that this will only get executed when running on
the server, so it should never get executed on the client.
If there is a compilation issue with JPEGPayloadFormat,
then the whole if (!m_bLocalPlayback) clause should be
put inside #if defined(HELIX_FEATURE_SERVER).
-#endif // 0
+//#endif // 0
Again, no reason to keep this.
Rest looks good.
Eric
=============================================
Eric Hyche (ehyche real.com)
Technical Lead
RealNetworks, Inc.
> -----Original Message-----
> From: helix-client-dev-bounces helixcommunity.org
> [mailto:helix-client-dev-bounces helixcommunity.org] On
> Behalf Of Zhao, Halley
> Sent: Thursday, September 13, 2007 3:06 AM
> To: datatype-dev
> Cc: helix-client-dev helixcommunity.org
> Subject: [Helix-client-dev] CR: Fixed the build
depedency
> (bif) and streamtype mismatch for avi fileformat
plugin
>
> Bug Number:
>
> 7204
>
> Bug URL:
>
>
https://bugs.helixcommunity.org/show_bug.cgi?id=7204
>
> Synopsis:
>
> fix a bug for endian type mismatch of avi file
format module.
>
> Overview:
>
> 1. Add module dependlist in
hxclient_3_1_0_atlas.bif
> for avi fileformat target.
>
> 2. avifformat.so plugin can't parse a valid avi
stream ;
> some confliction for little endian or big endian.
>
> For 4-characters stream type string, such as
"AVI
> ","MJPEG","H263", helix
transform it to an integer value,.
> however sometimes it check the endian type of platform,
> sometimes it use MACRO HX_MAKE4CC regardless endian
type of
> platform. it will cause mismatch.
>
> a. in aviffpln.cpp, there is check of the
media stream:
>
> if (m_pGeneralReader->FileSubtype() !=
> HX_MAKE4CC('A', 'V', 'I', ' '))
>
> FileSubtype defined in common module, it
uses
> platform dependent endian type, but HX_Make4CC use
fixed
> little endian. I think it's better to change to:
>
> if (m_pGeneralReader->FileSubtype() !=
> m_pGeneralReader->GetLong("AVI "))
>
> FileSubtype() and GetLong() is both defined
in
> common module, and have the same endian type.
>
> b. avistrm.cpp
>
> m_header.ulType =
> LE32_TO_HOST(*(UINT32*) &buf[0])
>
> LE32_TO_HOST depend on platfrom's endian
type,
> AVI_VIDS_TYPE, AVI_AUDS_TYPE, AVI_MJPG_VIDEO are
defined by
> HX_MAKE4CC regardless of endian type. there will be
mismatch
> when compare them.
>
> the absolute value of ulType is not
important, we
> can modify as following to make them be consistent with
each other.
>
> m_header.ulType = HX_MAKE4CC( buf[0],
buf[1],
> buf[2], buf[3])
>
> c). mjpeg is supported by helix community now
>
> Change the #if defined to enable mjpeg
support.
>
>
>
> Files Added:
>
> No file added
>
> Files Modified:
>
> aviffpln.cpp:
(datatype/avi/fileformat/aviffpln.cpp)
>
> when compare with FileSubtype which defined in
common
> module, use GetLong (which also defined in common
module) to
> transform media type string to integer.
>
> avistrm: (datatype/avi/fileformat/avistrm.cpp)
>
> use HX_MAKE4CC() to get ulType from media type
> string, since it used inside avistrm.cpp only, and
> AVI_VIDS_TYPE, AVI_AUDS_TYPE, AVI_MJPG_VIDEO are
defined by
> HX_MAKE4CC().
>
>
>
> another solution is to redefine AVI_VIDS_TYPE,
> AVI_AUDS_TYPE, AVI_MJPG_VIDEO by LE32_TO_HOST.
>
>
>
> 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:
>
> avifformat.so
>
> Distribution library impact and planned action:
>
> None
>
> Platforms and Profiles Build Verified:
>
> Set BIF branch ->
hxclient_3_1_0_atlas_restricted
>
> Set Target(s) -> datatype_avi_fileformat
>
> 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 >
>
> 3. My company (company name here) submits this
code
> under the terms
>
> of a commercial contribution agreement with
RealNetworks,
>
> and I am authorized to contribute this code
under
> said agreement.
>
>
>
> Files Attached:
>
> datatype-avi.diff
>
> bif-avi.diff
>
>
>
> ZHAO, Halley (Aihua)
>
> Email: halley.zhao intel.com <mailto:aihua.zhao intel.com>
>
> Tel: +86(21)61166476
>
> iNet: 8821-6476
>
> SSG/OTC/UMD
>
>
>
>
_______________________________________________
Datatype-dev mailing list
Datatype-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/da
tatype-dev
|
|
| CR: Fixed the build depedency (bif) and
streamtype mismatch fo |

|
2007-09-13 21:49:34 |
Re-send diff file with acceptation of Eric's
correction.
It needs "#if defined(HELIX_FEATURE_SERVER)"
to pass compile for JPEGPayloadFormat.
Pass Test.
>-----Original Message-----
>From: Eric Hyche [mailto:ehyche real.com]
>Sent: 2007定9埖13晩 21:29
>To: Zhao, Halley; 'datatype-dev'
>Cc: helix-client-dev helixcommunity.org
>Subject: RE: [Helix-client-dev] CR: Fixed the build
depedency (bif) and
>streamtype mismatch for avi fileformat plugin
>
>
>My comments on these changes:
>
> if
project.IsDefined("HELIX_FEATURE_SERVER"):
>- MultiTargetMake("aviffdll")
>+
MultiTargetMake("avifflib","aviffdll")
>
>No need to change if HELIX_FEATURE_SERVER is defined
-
>this does not affect the client, and we should not
>change the server builds.
>
>-#if 0 // JPEGPayloadFormat not supported (yet)
>+// #if 0 // JPEGPayloadFormat not supported (yet)
>
>No need to keep this - just remove it.
>
> if (!m_bLocalPlayback)
> {
>+ // ASSERT(0);
>+#if 0 // JPEGPayloadFormat not supported (yet)
>
> m_pPayloadFormatter =
new
>JPEGPayloadFormat();
>
>This should not be ifdef'd out. if
(!m_bLocalPlayback)
>means that this will only get executed when running
on
>the server, so it should never get executed on the
client.
>If there is a compilation issue with
JPEGPayloadFormat,
>then the whole if (!m_bLocalPlayback) clause should
be
>put inside #if defined(HELIX_FEATURE_SERVER).
>
>-#endif // 0
>+//#endif // 0
>
>Again, no reason to keep this.
>
>
>Rest looks good.
>
>Eric
>
>=============================================
>Eric Hyche (ehyche real.com)
>Technical Lead
>RealNetworks, Inc.
>
>> -----Original Message-----
>> From: helix-client-dev-bounces helixcommunity.org
>> [mailto:helix-client-dev-bounces helixcommunity.org] On
>> Behalf Of Zhao, Halley
>> Sent: Thursday, September 13, 2007 3:06 AM
>> To: datatype-dev
>> Cc: helix-client-dev helixcommunity.org
>> Subject: [Helix-client-dev] CR: Fixed the build
depedency
>> (bif) and streamtype mismatch for avi
fileformat plugin
>>
>> Bug Number:
>>
>> 7204
>>
>> Bug URL:
>>
>>
https://bugs.helixcommunity.org/show_bug.cgi?id=7204
>>
>> Synopsis:
>>
>> fix a bug for endian type mismatch of avi
file format module.
>>
>> Overview:
>>
>> 1. Add module dependlist in
hxclient_3_1_0_atlas.bif
>> for avi fileformat target.
>>
>> 2. avifformat.so plugin can't parse a
valid avi stream ;
>> some confliction for little endian or big
endian.
>>
>> For 4-characters stream type string, such
as "AVI
>> ","MJPEG","H263",
helix transform it to an integer value,.
>> however sometimes it check the endian type of
platform,
>> sometimes it use MACRO HX_MAKE4CC regardless
endian type of
>> platform. it will cause mismatch.
>>
>> a. in aviffpln.cpp, there is check of
the media stream:
>>
>> if
(m_pGeneralReader->FileSubtype() !=
>> HX_MAKE4CC('A', 'V', 'I', ' '))
>>
>> FileSubtype defined in common
module, it uses
>> platform dependent endian type, but HX_Make4CC
use fixed
>> little endian. I think it's better to change
to:
>>
>> if
(m_pGeneralReader->FileSubtype() !=
>> m_pGeneralReader->GetLong("AVI
"))
>>
>> FileSubtype() and GetLong() is both
defined in
>> common module, and have the same endian type.
>>
>> b. avistrm.cpp
>>
>> m_header.ulType =
>> LE32_TO_HOST(*(UINT32*) &buf[0])
>>
>> LE32_TO_HOST depend on platfrom's
endian type,
>> AVI_VIDS_TYPE, AVI_AUDS_TYPE, AVI_MJPG_VIDEO
are defined by
>> HX_MAKE4CC regardless of endian type. there
will be mismatch
>> when compare them.
>>
>> the absolute value of ulType is not
important, we
>> can modify as following to make them be
consistent with each other.
>>
>> m_header.ulType = HX_MAKE4CC(
buf[0], buf[1],
>> buf[2], buf[3])
>>
>> c). mjpeg is supported by helix
community now
>>
>> Change the #if defined to enable
mjpeg support.
>>
>>
>>
>> Files Added:
>>
>> No file added
>>
>> Files Modified:
>>
>> aviffpln.cpp:
(datatype/avi/fileformat/aviffpln.cpp)
>>
>> when compare with FileSubtype which
defined in common
>> module, use GetLong (which also defined in
common module) to
>> transform media type string to integer.
>>
>> avistrm:
(datatype/avi/fileformat/avistrm.cpp)
>>
>> use HX_MAKE4CC() to get ulType from
media type
>> string, since it used inside avistrm.cpp only,
and
>> AVI_VIDS_TYPE, AVI_AUDS_TYPE, AVI_MJPG_VIDEO
are defined by
>> HX_MAKE4CC().
>>
>>
>>
>> another solution is to redefine
AVI_VIDS_TYPE,
>> AVI_AUDS_TYPE, AVI_MJPG_VIDEO by LE32_TO_HOST.
>>
>>
>>
>> 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:
>>
>> avifformat.so
>>
>> Distribution library impact and planned
action:
>>
>> None
>>
>> Platforms and Profiles Build Verified:
>>
>> Set BIF branch ->
hxclient_3_1_0_atlas_restricted
>>
>> Set Target(s) ->
datatype_avi_fileformat
>>
>> 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 >
>>
>> 3. My company (company name here)
submits this code
>> under the terms
>>
>> of a commercial contribution
agreement with RealNetworks,
>>
>> and I am authorized to contribute
this code under
>> said agreement.
>>
>>
>>
>> Files Attached:
>>
>> datatype-avi.diff
>>
>> bif-avi.diff
>>
>>
>>
>> ZHAO, Halley (Aihua)
>>
>> Email: halley.zhao intel.com
<mailto:aihua.zhao intel.com>
>>
>> Tel: +86(21)61166476
>>
>> iNet: 8821-6476
>>
>> SSG/OTC/UMD
>>
>>
>>
>>
_______________________________________________
Datatype-dev mailing list
Datatype-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/da
tatype-dev
|
|
|
[1-2]
|
|