|
List Info
Thread: CR: Fix the issue that when the wmv content is bad, the player can
|
|
| CR: Fix the issue that when the wmv
content is bad, the player can |

|
2008-02-26 02:48:50 |
|
Synopsis:
Fix the issue:
when the wmv content is bad, the player can't get the correct duration
Overview:
The duration of a
stream can either be from the file properties or from extended stream
properties, we will try and detect when we encounter a bad content (something wrong
in the extended stream properties) and then in that case, use the duration in
the file properties object.
Files Added:
None
Files Modified:
client/core/hxsrc.cpp
client/core/hxbsrc.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:
<hxmedplyeng.so> <clntcorelib.a>
Distribution library
impact and planned action:
<None>
Platforms and Profiles
Build Verified:
Set BIF branch ->
hxclient_3_1_0_atlas
Set
Target(s) -> client_core
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:
client-core-wmv-duration.diff
Weian
|
|
| RE: CR: Fix the issue that when the
wmvcontent is bad, the player c |
  United States |
2008-02-26 22:21:09 |
Hmmm.. I'm confused. The Overview below does not
match the diff attached.
As we talked about before, we should fix this
in datatype/wm/fileformat, not at the client core
level. The description below sounds right - when we
detect that the extended stream properties duration is
wrong, then don't use it, and use the duration in
the file properties object instead.
Eric
=============================================
Eric Hyche (ehyche real.com)
Technical Lead
RealNetworks, Inc.
> -----Original Message-----
> From: datatype-dev-bounces helixcommunity.org
> [mailto:datatype-dev-bounces helixcommunity.org] On
Behalf Of
> Chen, Weian
> Sent: Tuesday, February 26, 2008 3:49 AM
> To: datatype-dev helixcommunity.org
> Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> Subject: [datatype-dev][helix-client-dev] CR: Fix the
issue
> that when the wmvcontent is bad, the player can't get
the
> correct duration
>
> Synopsis:
>
> Fix the issue: when the wmv content is bad, the
player
> can't get the correct duration
>
>
>
> Overview:
>
> The duration of a stream can either be from the file
> properties or from extended stream properties, we will
try
> and detect when we encounter a bad content (something
wrong
> in the extended stream properties) and then in that
case, use
> the duration in the file properties object.
>
>
>
> Files Added:
>
> None
>
>
>
> Files Modified:
>
> client/core/hxsrc.cpp
>
> client/core/hxbsrc.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:
>
> <hxmedplyeng.so> <clntcorelib.a>
>
>
>
> Distribution library impact and planned action:
>
> <None>
>
>
>
> Platforms and Profiles Build Verified:
>
> Set BIF branch -> hxclient_3_1_0_atlas
>
> Set Target(s) -> client_core
>
> 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:
>
> client-core-wmv-duration.diff
>
>
>
> Weian
>
>
>
>
_______________________________________________
Helix-client-dev mailing list
Helix-client-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinf
o/helix-client-dev
|
|
| Re-Send: CR: Fix the issue that when
the wmvcontent is bad, the pla |

|
2008-03-10 02:17:58 |
Synopsis:
Fix the issue: when the wmv content is bad, the player
can't get the correct duration
Overview:
The duration of a stream can either be from the file
properties or from extended stream properties, we will try
and detect when we encounter a bad content (something wrong
in the extended stream properties) and then in that case,
use the duration in the file properties object.
Files Added:
None
Files Modified:
datatype/wm/fileformat/asf_file_format_file.cpp
datatype/wm/fileformat/pub/asf_file_format_file.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:
<asffflib.a> <asfff.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) -> all_wm_plugins
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:
datatype-wm-duration.diff
thanks!
Weian
-----Original Message-----
From: Eric Hyche [mailto:ehyche real.com]
Sent: 2008年2月27日 12:21
To: Chen, Weian; datatype-dev helixcommunity.org
Cc: Shen, Cathy; helix-client-dev helixcommunity.org
Subject: RE: [datatype-dev][helix-client-dev] CR: Fix the
issue that when the wmvcontent is bad, the player can't get
the correct duration
Hmmm.. I'm confused. The Overview below does not
match the diff attached.
As we talked about before, we should fix this
in datatype/wm/fileformat, not at the client core
level. The description below sounds right - when we
detect that the extended stream properties duration is
wrong, then don't use it, and use the duration in
the file properties object instead.
Eric
=============================================
Eric Hyche (ehyche real.com)
Technical Lead
RealNetworks, Inc.
> -----Original Message-----
> From: datatype-dev-bounces helixcommunity.org
> [mailto:datatype-dev-bounces helixcommunity.org] On
Behalf Of
> Chen, Weian
> Sent: Tuesday, February 26, 2008 3:49 AM
> To: datatype-dev helixcommunity.org
> Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> Subject: [datatype-dev][helix-client-dev] CR: Fix the
issue
> that when the wmvcontent is bad, the player can't get
the
> correct duration
>
> Synopsis:
>
> Fix the issue: when the wmv content is bad, the
player
> can't get the correct duration
>
>
>
> Overview:
>
> The duration of a stream can either be from the file
> properties or from extended stream properties, we will
try
> and detect when we encounter a bad content (something
wrong
> in the extended stream properties) and then in that
case, use
> the duration in the file properties object.
>
>
>
> Files Added:
>
> None
>
>
>
> Files Modified:
>
> client/core/hxsrc.cpp
>
> client/core/hxbsrc.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:
>
> <hxmedplyeng.so> <clntcorelib.a>
>
>
>
> Distribution library impact and planned action:
>
> <None>
>
>
>
> Platforms and Profiles Build Verified:
>
> Set BIF branch -> hxclient_3_1_0_atlas
>
> Set Target(s) -> client_core
>
> 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:
>
> client-core-wmv-duration.diff
>
>
>
> Weian
>
>
>
>
_______________________________________________
Helix-client-dev mailing list
Helix-client-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinf
o/helix-client-dev
|
|
|
| RE: Re-Send: CR: Fix the issue that
when the wmvcontent is bad, the |
  United States |
2008-03-10 09:56:51 |
Several comments on this change:
1) As you can see in hxprefutil.h, there are two versions of
each
ReadPrefXXXX() function - one that takes an IUnknown* and
one that
takes an IHXPreferences. Unless you already have an
IHXPreferences*
handy, you should use the one that takes a IUnknown*. So
in this
change we should be using the version that takes an
IUnknown*. So
there's no need to QI for IHXPreferences in this change.
2) "Selection" in the pref name is misspelled, and
we should spell out
"threshold". So the pref name should be
"DurationSelectionThreshold".
3) ullDurationFromExtObj is unsigned, so it will never be
< 0. So the
<= 0 can just be a == 0 check.
4) We should add a descriptive comment right before the if
clause:
+ if (ullDurationFromExtObj <= 0 ||
+ ullDurationFromExtObj >
(ullDurationFromFileHeader * (m_ulDurationSelectionThrd +
100) / 100))
which explains why we are doing this check. This comment
should
describe the buggy files (where duration in extended
stream properties object is
supposed to be in milliseconds but some buggy file writers
wrote it out in
units of 100ns) and therefore why this if() comparison is
needed.
5) I'm not sure why we need the duration selection threshold
to be
in a member variable since we are only using it one time
inside function scope.
Eric
=============================================
Eric Hyche (ehyche real.com)
Technical Lead
RealNetworks, Inc.
> -----Original Message-----
> From: Chen, Weian [mailto:weian.chen intel.com]
> Sent: Monday, March 10, 2008 3:18 AM
> To: ehyche real.com; datatype-dev helixcommunity.org
> Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> Subject: Re-Send: [datatype-dev][helix-client-dev] CR:
Fix
> the issue that when the wmvcontent is bad, the player
can't
> get the correct duration
>
> Synopsis:
> Fix the issue: when the wmv content is bad, the
player
> can't get the correct duration
>
> Overview:
> The duration of a stream can either be from the file
> properties or from extended stream properties, we will
try
> and detect when we encounter a bad content (something
wrong
> in the extended stream properties) and then in that
case, use
> the duration in the file properties object.
>
> Files Added:
> None
>
> Files Modified:
> datatype/wm/fileformat/asf_file_format_file.cpp
> datatype/wm/fileformat/pub/asf_file_format_file.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:
> <asffflib.a> <asfff.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) -> all_wm_plugins
> 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:
> datatype-wm-duration.diff
>
> thanks!
> Weian
>
> -----Original Message-----
> From: Eric Hyche [mailto:ehyche real.com]
> Sent: 2008$BG/(B2$B7n(B27$BF|(B 12:21
> To: Chen, Weian; datatype-dev helixcommunity.org
> Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> Subject: RE: [datatype-dev][helix-client-dev] CR: Fix
the
> issue that when the wmvcontent is bad, the player can't
get
> the correct duration
>
>
> Hmmm.. I'm confused. The Overview below does not
> match the diff attached.
>
> As we talked about before, we should fix this
> in datatype/wm/fileformat, not at the client core
> level. The description below sounds right - when we
> detect that the extended stream properties duration is
> wrong, then don't use it, and use the duration in
> the file properties object instead.
>
> Eric
>
> =============================================
> Eric Hyche (ehyche real.com)
> Technical Lead
> RealNetworks, Inc.
>
> > -----Original Message-----
> > From: datatype-dev-bounces helixcommunity.org
> > [mailto:datatype-dev-bounces helixcommunity.org] On
Behalf Of
> > Chen, Weian
> > Sent: Tuesday, February 26, 2008 3:49 AM
> > To: datatype-dev helixcommunity.org
> > Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> > Subject: [datatype-dev][helix-client-dev] CR: Fix
the issue
> > that when the wmvcontent is bad, the player can't
get the
> > correct duration
> >
> > Synopsis:
> >
> > Fix the issue: when the wmv content is bad, the
player
> > can't get the correct duration
> >
> >
> >
> > Overview:
> >
> > The duration of a stream can either be from the
file
> > properties or from extended stream properties, we
will try
> > and detect when we encounter a bad content
(something wrong
> > in the extended stream properties) and then in
that case, use
> > the duration in the file properties object.
> >
> >
> >
> > Files Added:
> >
> > None
> >
> >
> >
> > Files Modified:
> >
> > client/core/hxsrc.cpp
> >
> > client/core/hxbsrc.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:
> >
> > <hxmedplyeng.so> <clntcorelib.a>
> >
> >
> >
> > Distribution library impact and planned action:
> >
> > <None>
> >
> >
> >
> > Platforms and Profiles Build Verified:
> >
> > Set BIF branch -> hxclient_3_1_0_atlas
> >
> > Set Target(s) -> client_core
> >
> > 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:
> >
> > client-core-wmv-duration.diff
> >
> >
> >
> > Weian
> >
> >
> >
> >
>
>
_______________________________________________
Helix-client-dev mailing list
Helix-client-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinf
o/helix-client-dev
|
|
| RE: Re-Send: CR: Fix the issue that
when the wmvcontent is bad, the |

|
2008-03-10 21:17:34 |
Thanks a lot, I will modify and commit....
Weian
-----Original Message-----
From: Eric Hyche [mailto:ehyche real.com]
Sent: 2008年3月10日 22:57
To: Chen, Weian; datatype-dev helixcommunity.org
Cc: Shen, Cathy; helix-client-dev helixcommunity.org
Subject: RE: Re-Send: [datatype-dev][helix-client-dev] CR:
Fix the issue that when the wmvcontent is bad, the player
can't get the correct duration
Several comments on this change:
1) As you can see in hxprefutil.h, there are two versions of
each
ReadPrefXXXX() function - one that takes an IUnknown* and
one that
takes an IHXPreferences. Unless you already have an
IHXPreferences*
handy, you should use the one that takes a IUnknown*. So
in this
change we should be using the version that takes an
IUnknown*. So
there's no need to QI for IHXPreferences in this change.
2) "Selection" in the pref name is misspelled, and
we should spell out
"threshold". So the pref name should be
"DurationSelectionThreshold".
3) ullDurationFromExtObj is unsigned, so it will never be
< 0. So the
<= 0 can just be a == 0 check.
4) We should add a descriptive comment right before the if
clause:
+ if (ullDurationFromExtObj <= 0 ||
+ ullDurationFromExtObj >
(ullDurationFromFileHeader * (m_ulDurationSelectionThrd +
100) / 100))
which explains why we are doing this check. This comment
should
describe the buggy files (where duration in extended
stream properties object is
supposed to be in milliseconds but some buggy file writers
wrote it out in
units of 100ns) and therefore why this if() comparison is
needed.
5) I'm not sure why we need the duration selection threshold
to be
in a member variable since we are only using it one time
inside function scope.
Eric
=============================================
Eric Hyche (ehyche real.com)
Technical Lead
RealNetworks, Inc.
> -----Original Message-----
> From: Chen, Weian [mailto:weian.chen intel.com]
> Sent: Monday, March 10, 2008 3:18 AM
> To: ehyche real.com; datatype-dev helixcommunity.org
> Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> Subject: Re-Send: [datatype-dev][helix-client-dev] CR:
Fix
> the issue that when the wmvcontent is bad, the player
can't
> get the correct duration
>
> Synopsis:
> Fix the issue: when the wmv content is bad, the
player
> can't get the correct duration
>
> Overview:
> The duration of a stream can either be from the file
> properties or from extended stream properties, we will
try
> and detect when we encounter a bad content (something
wrong
> in the extended stream properties) and then in that
case, use
> the duration in the file properties object.
>
> Files Added:
> None
>
> Files Modified:
> datatype/wm/fileformat/asf_file_format_file.cpp
> datatype/wm/fileformat/pub/asf_file_format_file.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:
> <asffflib.a> <asfff.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) -> all_wm_plugins
> 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:
> datatype-wm-duration.diff
>
> thanks!
> Weian
>
> -----Original Message-----
> From: Eric Hyche [mailto:ehyche real.com]
> Sent: 2008年2月27日 12:21
> To: Chen, Weian; datatype-dev helixcommunity.org
> Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> Subject: RE: [datatype-dev][helix-client-dev] CR: Fix
the
> issue that when the wmvcontent is bad, the player can't
get
> the correct duration
>
>
> Hmmm.. I'm confused. The Overview below does not
> match the diff attached.
>
> As we talked about before, we should fix this
> in datatype/wm/fileformat, not at the client core
> level. The description below sounds right - when we
> detect that the extended stream properties duration is
> wrong, then don't use it, and use the duration in
> the file properties object instead.
>
> Eric
>
> =============================================
> Eric Hyche (ehyche real.com)
> Technical Lead
> RealNetworks, Inc.
>
> > -----Original Message-----
> > From: datatype-dev-bounces helixcommunity.org
> > [mailto:datatype-dev-bounces helixcommunity.org] On
Behalf Of
> > Chen, Weian
> > Sent: Tuesday, February 26, 2008 3:49 AM
> > To: datatype-dev helixcommunity.org
> > Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> > Subject: [datatype-dev][helix-client-dev] CR: Fix
the issue
> > that when the wmvcontent is bad, the player can't
get the
> > correct duration
> >
> > Synopsis:
> >
> > Fix the issue: when the wmv content is bad, the
player
> > can't get the correct duration
> >
> >
> >
> > Overview:
> >
> > The duration of a stream can either be from the
file
> > properties or from extended stream properties, we
will try
> > and detect when we encounter a bad content
(something wrong
> > in the extended stream properties) and then in
that case, use
> > the duration in the file properties object.
> >
> >
> >
> > Files Added:
> >
> > None
> >
> >
> >
> > Files Modified:
> >
> > client/core/hxsrc.cpp
> >
> > client/core/hxbsrc.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:
> >
> > <hxmedplyeng.so> <clntcorelib.a>
> >
> >
> >
> > Distribution library impact and planned action:
> >
> > <None>
> >
> >
> >
> > Platforms and Profiles Build Verified:
> >
> > Set BIF branch -> hxclient_3_1_0_atlas
> >
> > Set Target(s) -> client_core
> >
> > 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:
> >
> > client-core-wmv-duration.diff
> >
> >
> >
> > Weian
> >
> >
> >
> >
>
>
_______________________________________________
Helix-client-dev mailing list
Helix-client-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinf
o/helix-client-dev
|
|
| CN: Fix the issue thatwhen the
wmvcontent is bad, the player can't |

|
2008-03-10 22:00:34 |
Commit to head and atlas branch.
Thanks!
Weian
-----Original Message-----
From: datatype-dev-bounces helixcommunity.org
[mailto:datatype-dev-bounces helixcommunity.org] On
Behalf Of Chen, Weian
Sent: 2008年3月11日 10:18
To: ehyche real.com; datatype-dev helixcommunity.org
Cc: Shen, Cathy; helix-client-dev helixcommunity.org
Subject: RE: Re-Send: [datatype-dev][helix-client-dev] CR:
Fix the issue thatwhen the wmvcontent is bad, the player
can't get the correct duration
Thanks a lot, I will modify and commit....
Weian
-----Original Message-----
From: Eric Hyche [mailto:ehyche real.com]
Sent: 2008年3月10日 22:57
To: Chen, Weian; datatype-dev helixcommunity.org
Cc: Shen, Cathy; helix-client-dev helixcommunity.org
Subject: RE: Re-Send: [datatype-dev][helix-client-dev] CR:
Fix the issue that when the wmvcontent is bad, the player
can't get the correct duration
Several comments on this change:
1) As you can see in hxprefutil.h, there are two versions of
each
ReadPrefXXXX() function - one that takes an IUnknown* and
one that
takes an IHXPreferences. Unless you already have an
IHXPreferences*
handy, you should use the one that takes a IUnknown*. So
in this
change we should be using the version that takes an
IUnknown*. So
there's no need to QI for IHXPreferences in this change.
2) "Selection" in the pref name is misspelled, and
we should spell out
"threshold". So the pref name should be
"DurationSelectionThreshold".
3) ullDurationFromExtObj is unsigned, so it will never be
< 0. So the
<= 0 can just be a == 0 check.
4) We should add a descriptive comment right before the if
clause:
+ if (ullDurationFromExtObj <= 0 ||
+ ullDurationFromExtObj >
(ullDurationFromFileHeader * (m_ulDurationSelectionThrd +
100) / 100))
which explains why we are doing this check. This comment
should
describe the buggy files (where duration in extended
stream properties object is
supposed to be in milliseconds but some buggy file writers
wrote it out in
units of 100ns) and therefore why this if() comparison is
needed.
5) I'm not sure why we need the duration selection threshold
to be
in a member variable since we are only using it one time
inside function scope.
Eric
=============================================
Eric Hyche (ehyche real.com)
Technical Lead
RealNetworks, Inc.
> -----Original Message-----
> From: Chen, Weian [mailto:weian.chen intel.com]
> Sent: Monday, March 10, 2008 3:18 AM
> To: ehyche real.com; datatype-dev helixcommunity.org
> Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> Subject: Re-Send: [datatype-dev][helix-client-dev] CR:
Fix
> the issue that when the wmvcontent is bad, the player
can't
> get the correct duration
>
> Synopsis:
> Fix the issue: when the wmv content is bad, the
player
> can't get the correct duration
>
> Overview:
> The duration of a stream can either be from the file
> properties or from extended stream properties, we will
try
> and detect when we encounter a bad content (something
wrong
> in the extended stream properties) and then in that
case, use
> the duration in the file properties object.
>
> Files Added:
> None
>
> Files Modified:
> datatype/wm/fileformat/asf_file_format_file.cpp
> datatype/wm/fileformat/pub/asf_file_format_file.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:
> <asffflib.a> <asfff.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) -> all_wm_plugins
> 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:
> datatype-wm-duration.diff
>
> thanks!
> Weian
>
> -----Original Message-----
> From: Eric Hyche [mailto:ehyche real.com]
> Sent: 2008年2月27日 12:21
> To: Chen, Weian; datatype-dev helixcommunity.org
> Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> Subject: RE: [datatype-dev][helix-client-dev] CR: Fix
the
> issue that when the wmvcontent is bad, the player can't
get
> the correct duration
>
>
> Hmmm.. I'm confused. The Overview below does not
> match the diff attached.
>
> As we talked about before, we should fix this
> in datatype/wm/fileformat, not at the client core
> level. The description below sounds right - when we
> detect that the extended stream properties duration is
> wrong, then don't use it, and use the duration in
> the file properties object instead.
>
> Eric
>
> =============================================
> Eric Hyche (ehyche real.com)
> Technical Lead
> RealNetworks, Inc.
>
> > -----Original Message-----
> > From: datatype-dev-bounces helixcommunity.org
> > [mailto:datatype-dev-bounces helixcommunity.org] On
Behalf Of
> > Chen, Weian
> > Sent: Tuesday, February 26, 2008 3:49 AM
> > To: datatype-dev helixcommunity.org
> > Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> > Subject: [datatype-dev][helix-client-dev] CR: Fix
the issue
> > that when the wmvcontent is bad, the player can't
get the
> > correct duration
> >
> > Synopsis:
> >
> > Fix the issue: when the wmv content is bad, the
player
> > can't get the correct duration
> >
> >
> >
> > Overview:
> >
> > The duration of a stream can either be from the
file
> > properties or from extended stream properties, we
will try
> > and detect when we encounter a bad content
(something wrong
> > in the extended stream properties) and then in
that case, use
> > the duration in the file properties object.
> >
> >
> >
> > Files Added:
> >
> > None
> >
> >
> >
> > Files Modified:
> >
> > client/core/hxsrc.cpp
> >
> > client/core/hxbsrc.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:
> >
> > <hxmedplyeng.so> <clntcorelib.a>
> >
> >
> >
> > Distribution library impact and planned action:
> >
> > <None>
> >
> >
> >
> > Platforms and Profiles Build Verified:
> >
> > Set BIF branch -> hxclient_3_1_0_atlas
> >
> > Set Target(s) -> client_core
> >
> > 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:
> >
> > client-core-wmv-duration.diff
> >
> >
> >
> > Weian
> >
> >
> >
> >
>
>
_______________________________________________
Datatype-dev mailing list
Datatype-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/da
tatype-dev
_______________________________________________
Helix-client-dev mailing list
Helix-client-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinf
o/helix-client-dev
|
|
| RE: CN: Fix the issue thatwhen the
wmvcontent is bad, the player ca |
  United States |
2008-03-11 08:35:00 |
Weian,
I'm a bit confused. I was interested in seeing the final
diff that you
committed, so I went to look at the datatype-cvs mailing
list
to see the diff. I have included the commit email below.
As you can see, the comments pasted into the commit text
don't match
what was actually committed.
The diff looks fine - I was just wondering what was going on
with
the rest of the text....
Eric
=============================================
Eric Hyche (ehyche real.com)
Technical Lead
RealNetworks, Inc.
------------------------------------------------------------
-------------------------------
Modified Files:
asf_file_format_file.cpp
Log Message:
Synopsis:
Make the thread callback function of dtdriver work well on
UNIX platform.
Overview:
To make the thread callback function work well on Unix
platform (in file thrdcbmgr.cpp and thrdcbmgr.h), we should
inherited from interface IHXInterruptOnly, and implement the
function IsInterruptOnly(), then the thread function
Func() can be trigged.
Files Added:
No file added
Files Modified:
thrdcbmgr.cpp
(/datatype/tools/dtdriver/dtdrplin/platform/unix/)
thrdcbmgr.h
(/datatype/tools/dtdriver/dtdrplin/platform/unix/)
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:
<dtdrplin.so>
<hxdtdriver.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_tools_dtdriver
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:
dtdrplin-thrdcbmgr.diff
Index: asf_file_format_file.cpp
============================================================
=======
RCS file:
/cvsroot/datatype/wm/fileformat/asf_file_format_file.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- asf_file_format_file.cpp 21 Feb 2008 04:53:18
-0000 1.13
+++ asf_file_format_file.cpp 11 Mar 2008 02:57:14
-0000 1.14
 -57,6
+57,7 
#include "asf_index.h"
#include "asf_file_format.ver"
#include "hxheap.h"
+#include "hxprefutil.h"
#if defined(HELIX_FEATURE_DRM)
#include "hxdrm.h"
 -2117,6
+2118,8 
UINT32 CASFFileFormatFile::GetDuration(UINT16
usWMStreamNum)
{
UINT32 ulRet = 0;
+ UINT64 ullDurationFromFileHeader = 0;
+ UINT64 ullDurationFromExtObj = 0;
// First check if we have an extended stream properties
for this WM stream number
HXBOOL bFound = FALSE;
 -2152,8
+2155,31 
{
// The duration is the difference
between the start time and end time
UINT64 ullDiff = ullEndTime -
ullStartTime;
- ulRet =
INT64_TO_UINT32(ullDiff);
+ ullDurationFromExtObj = ullDiff;
+ //ulRet =
INT64_TO_UINT32(ullDiff);
bFound = TRUE;
+ }
+
+ UINT32 ulDurationSelectionThrd =
HX_DURATION_SELECTION_THRD;
+ HX_ASSERT (m_pContext);
+ ReadPrefUINT32 (m_pContext,
"DurationSelectionThreshold",
ulDurationSelectionThrd);
+
+ ullDurationFromFileHeader =
m_pFilePropertiesObject->m_ullPlayDuration / ((UINT64)
10000);
+ ullDurationFromFileHeader -=
m_pFilePropertiesObject->m_ullPreroll;
+
+ // The duration in extended stream
properties object is supposed to be
+ // milliseconds but some buggy file writers
wrote it out in units of 100ns,
+ // and in this condition, the duration will
be much larger than the correct one,
+ // so we should check it here and choose
the right one, and also the user can
+ // configure the
"DurationSelectionThreshold" value
+ if (ullDurationFromExtObj == 0 ||
+ ullDurationFromExtObj >
(ullDurationFromFileHeader * (ulDurationSelectionThrd + 100)
/ 100))
+ {
+ ulRet =
INT64_TO_UINT32(ullDurationFromFileHeader);
+ }
+ else
+ {
+ ulRet =
INT64_TO_UINT32(ullDurationFromExtObj);
}
}
}
------------------------------------------------------------
-------------------------------
=============================================
Eric Hyche (ehyche real.com)
Technical Lead
RealNetworks, Inc.
> -----Original Message-----
> From: Chen, Weian [mailto:weian.chen intel.com]
> Sent: Monday, March 10, 2008 11:01 PM
> To: ehyche real.com; datatype-dev helixcommunity.org
> Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> Subject: [datatype-dev][helix-client-dev] CN: Fix the
issue
> thatwhen the wmvcontent is bad, the player can't get
the
> correct duration
>
>
> Commit to head and atlas branch.
>
> Thanks!
> Weian
>
> -----Original Message-----
> From: datatype-dev-bounces helixcommunity.org
> [mailto:datatype-dev-bounces helixcommunity.org] On
Behalf Of
> Chen, Weian
> Sent: 2008$BG/(B3$B7n(B11$BF|(B 10:18
> To: ehyche real.com; datatype-dev helixcommunity.org
> Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> Subject: RE: Re-Send: [datatype-dev][helix-client-dev]
CR:
> Fix the issue thatwhen the wmvcontent is bad, the
player
> can't get the correct duration
>
>
>
> Thanks a lot, I will modify and commit....
>
> Weian
>
> -----Original Message-----
> From: Eric Hyche [mailto:ehyche real.com]
> Sent: 2008$BG/(B3$B7n(B10$BF|(B 22:57
> To: Chen, Weian; datatype-dev helixcommunity.org
> Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> Subject: RE: Re-Send: [datatype-dev][helix-client-dev]
CR:
> Fix the issue that when the wmvcontent is bad, the
player
> can't get the correct duration
>
>
> Several comments on this change:
>
> 1) As you can see in hxprefutil.h, there are two
versions of each
> ReadPrefXXXX() function - one that takes an
IUnknown* and one that
> takes an IHXPreferences. Unless you already have an
IHXPreferences*
> handy, you should use the one that takes a IUnknown*.
So in this
> change we should be using the version that takes an
IUnknown*. So
> there's no need to QI for IHXPreferences in this
change.
>
> 2) "Selection" in the pref name is
misspelled, and we should spell out
> "threshold". So the pref name should be
> "DurationSelectionThreshold".
>
> 3) ullDurationFromExtObj is unsigned, so it will never
be < 0. So the
> <= 0 can just be a == 0 check.
>
> 4) We should add a descriptive comment right before the
if clause:
>
> + if (ullDurationFromExtObj <= 0 ||
> + ullDurationFromExtObj >
> (ullDurationFromFileHeader * (m_ulDurationSelectionThrd
+ 100) / 100))
>
> which explains why we are doing this check. This
comment should
> describe the buggy files (where duration in extended
stream
> properties object is
> supposed to be in milliseconds but some buggy file
writers
> wrote it out in
> units of 100ns) and therefore why this if()
comparison is needed.
>
> 5) I'm not sure why we need the duration selection
threshold to be
> in a member variable since we are only using it one
time
> inside function scope.
>
> Eric
>
> =============================================
> Eric Hyche (ehyche real.com)
> Technical Lead
> RealNetworks, Inc.
>
> > -----Original Message-----
> > From: Chen, Weian [mailto:weian.chen intel.com]
> > Sent: Monday, March 10, 2008 3:18 AM
> > To: ehyche real.com; datatype-dev helixcommunity.org
> > Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> > Subject: Re-Send: [datatype-dev][helix-client-dev]
CR: Fix
> > the issue that when the wmvcontent is bad, the
player can't
> > get the correct duration
> >
> > Synopsis:
> > Fix the issue: when the wmv content is bad, the
player
> > can't get the correct duration
> >
> > Overview:
> > The duration of a stream can either be from the
file
> > properties or from extended stream properties, we
will try
> > and detect when we encounter a bad content
(something wrong
> > in the extended stream properties) and then in
that case, use
> > the duration in the file properties object.
> >
> > Files Added:
> > None
> >
> > Files Modified:
> > datatype/wm/fileformat/asf_file_format_file.cpp
> >
datatype/wm/fileformat/pub/asf_file_format_file.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:
> > <asffflib.a> <asfff.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) -> all_wm_plugins
> > 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:
> > datatype-wm-duration.diff
> >
> > thanks!
> > Weian
> >
> > -----Original Message-----
> > From: Eric Hyche [mailto:ehyche real.com]
> > Sent: 2008$BG/(B2$B7n(B27$BF|(B 12:21
> > To: Chen, Weian; datatype-dev helixcommunity.org
> > Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> > Subject: RE: [datatype-dev][helix-client-dev] CR:
Fix the
> > issue that when the wmvcontent is bad, the player
can't get
> > the correct duration
> >
> >
> > Hmmm.. I'm confused. The Overview below does not
> > match the diff attached.
> >
> > As we talked about before, we should fix this
> > in datatype/wm/fileformat, not at the client core
> > level. The description below sounds right - when
we
> > detect that the extended stream properties
duration is
> > wrong, then don't use it, and use the duration in
> > the file properties object instead.
> >
> > Eric
> >
> > =============================================
> > Eric Hyche (ehyche real.com)
> > Technical Lead
> > RealNetworks, Inc.
> >
> > > -----Original Message-----
> > > From: datatype-dev-bounces helixcommunity.org
> > > [mailto:datatype-dev-bounces helixcommunity.org] On Behalf Of
> > > Chen, Weian
> > > Sent: Tuesday, February 26, 2008 3:49 AM
> > > To: datatype-dev helixcommunity.org
> > > Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> > > Subject: [datatype-dev][helix-client-dev] CR:
Fix the issue
> > > that when the wmvcontent is bad, the player
can't get the
> > > correct duration
> > >
> > > Synopsis:
> > >
> > > Fix the issue: when the wmv content is bad,
the player
> > > can't get the correct duration
> > >
> > >
> > >
> > > Overview:
> > >
> > > The duration of a stream can either be from
the file
> > > properties or from extended stream
properties, we will try
> > > and detect when we encounter a bad content
(something wrong
> > > in the extended stream properties) and then
in that case, use
> > > the duration in the file properties object.
> > >
> > >
> > >
> > > Files Added:
> > >
> > > None
> > >
> > >
> > >
> > > Files Modified:
> > >
> > > client/core/hxsrc.cpp
> > >
> > > client/core/hxbsrc.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:
> > >
> > > <hxmedplyeng.so>
<clntcorelib.a>
> > >
> > >
> > >
> > > Distribution library impact and planned
action:
> > >
> > > <None>
> > >
> > >
> > >
> > > Platforms and Profiles Build Verified:
> > >
> > > Set BIF branch ->
hxclient_3_1_0_atlas
> > >
> > > Set Target(s) -> client_core
> > >
> > > 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:
> > >
> > > client-core-wmv-duration.diff
> > >
> > >
> > >
> > > Weian
> > >
> > >
> > >
> > >
> >
> >
>
>
> _______________________________________________
> Datatype-dev mailing list
> Datatype-dev helixcommunity.org
> http://lists.helixcommunity.org/mailman/listinfo/da
tatype-dev
>
_______________________________________________
Helix-client-dev mailing list
Helix-client-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinf
o/helix-client-dev
|
|
| RE: CN: Fix the issue thatwhen the
wmvcontent is bad, the player ca |

|
2008-03-11 20:21:32 |
Eric:
I am so sorry, I have made a mistake, and it should be as
follows:
Synopsis:
Fix the issue: when the wmv content is bad, the player
can't get the correct duration
Overview:
The duration of a stream can either be from the file
properties or from extended stream properties, we will try
and detect when we encounter a bad content (something wrong
in the extended stream properties) and then in that case,
use the duration in the file properties object.
Files Added:
None
Files Modified:
datatype/wm/fileformat/asf_file_format_file.cpp
datatype/wm/fileformat/pub/asf_file_format_file.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:
<asffflib.a> <asfff.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) -> all_wm_plugins
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:
datatype-wm-duration.diff
Weian
-----Original Message-----
From: Eric Hyche [mailto:ehyche real.com]
Sent: 2008年3月11日 21:35
To: Chen, Weian; datatype-dev helixcommunity.org
Cc: Shen, Cathy; helix-client-dev helixcommunity.org
Subject: RE: [datatype-dev][helix-client-dev] CN: Fix the
issue thatwhen the wmvcontent is bad, the player can't get
the correct duration
Weian,
I'm a bit confused. I was interested in seeing the final
diff that you
committed, so I went to look at the datatype-cvs mailing
list
to see the diff. I have included the commit email below.
As you can see, the comments pasted into the commit text
don't match
what was actually committed.
The diff looks fine - I was just wondering what was going on
with
the rest of the text....
Eric
=============================================
Eric Hyche (ehyche real.com)
Technical Lead
RealNetworks, Inc.
------------------------------------------------------------
-------------------------------
Modified Files:
asf_file_format_file.cpp
Log Message:
Synopsis:
Make the thread callback function of dtdriver work well on
UNIX platform.
Overview:
To make the thread callback function work well on Unix
platform (in file thrdcbmgr.cpp and thrdcbmgr.h), we should
inherited from interface IHXInterruptOnly, and implement the
function IsInterruptOnly(), then the thread function
Func() can be trigged.
Files Added:
No file added
Files Modified:
thrdcbmgr.cpp
(/datatype/tools/dtdriver/dtdrplin/platform/unix/)
thrdcbmgr.h
(/datatype/tools/dtdriver/dtdrplin/platform/unix/)
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:
<dtdrplin.so>
<hxdtdriver.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_tools_dtdriver
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:
dtdrplin-thrdcbmgr.diff
Index: asf_file_format_file.cpp
============================================================
=======
RCS file:
/cvsroot/datatype/wm/fileformat/asf_file_format_file.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- asf_file_format_file.cpp 21 Feb 2008 04:53:18
-0000 1.13
+++ asf_file_format_file.cpp 11 Mar 2008 02:57:14
-0000 1.14
 -57,6
+57,7 
#include "asf_index.h"
#include "asf_file_format.ver"
#include "hxheap.h"
+#include "hxprefutil.h"
#if defined(HELIX_FEATURE_DRM)
#include "hxdrm.h"
 -2117,6
+2118,8 
UINT32 CASFFileFormatFile::GetDuration(UINT16
usWMStreamNum)
{
UINT32 ulRet = 0;
+ UINT64 ullDurationFromFileHeader = 0;
+ UINT64 ullDurationFromExtObj = 0;
// First check if we have an extended stream properties
for this WM stream number
HXBOOL bFound = FALSE;
 -2152,8
+2155,31 
{
// The duration is the difference
between the start time and end time
UINT64 ullDiff = ullEndTime -
ullStartTime;
- ulRet =
INT64_TO_UINT32(ullDiff);
+ ullDurationFromExtObj = ullDiff;
+ //ulRet =
INT64_TO_UINT32(ullDiff);
bFound = TRUE;
+ }
+
+ UINT32 ulDurationSelectionThrd =
HX_DURATION_SELECTION_THRD;
+ HX_ASSERT (m_pContext);
+ ReadPrefUINT32 (m_pContext,
"DurationSelectionThreshold",
ulDurationSelectionThrd);
+
+ ullDurationFromFileHeader =
m_pFilePropertiesObject->m_ullPlayDuration / ((UINT64)
10000);
+ ullDurationFromFileHeader -=
m_pFilePropertiesObject->m_ullPreroll;
+
+ // The duration in extended stream
properties object is supposed to be
+ // milliseconds but some buggy file writers
wrote it out in units of 100ns,
+ // and in this condition, the duration will
be much larger than the correct one,
+ // so we should check it here and choose
the right one, and also the user can
+ // configure the
"DurationSelectionThreshold" value
+ if (ullDurationFromExtObj == 0 ||
+ ullDurationFromExtObj >
(ullDurationFromFileHeader * (ulDurationSelectionThrd + 100)
/ 100))
+ {
+ ulRet =
INT64_TO_UINT32(ullDurationFromFileHeader);
+ }
+ else
+ {
+ ulRet =
INT64_TO_UINT32(ullDurationFromExtObj);
}
}
}
------------------------------------------------------------
-------------------------------
=============================================
Eric Hyche (ehyche real.com)
Technical Lead
RealNetworks, Inc.
> -----Original Message-----
> From: Chen, Weian [mailto:weian.chen intel.com]
> Sent: Monday, March 10, 2008 11:01 PM
> To: ehyche real.com; datatype-dev helixcommunity.org
> Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> Subject: [datatype-dev][helix-client-dev] CN: Fix the
issue
> thatwhen the wmvcontent is bad, the player can't get
the
> correct duration
>
>
> Commit to head and atlas branch.
>
> Thanks!
> Weian
>
> -----Original Message-----
> From: datatype-dev-bounces helixcommunity.org
> [mailto:datatype-dev-bounces helixcommunity.org] On
Behalf Of
> Chen, Weian
> Sent: 2008年3月11日 10:18
> To: ehyche real.com; datatype-dev helixcommunity.org
> Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> Subject: RE: Re-Send: [datatype-dev][helix-client-dev]
CR:
> Fix the issue thatwhen the wmvcontent is bad, the
player
> can't get the correct duration
>
>
>
> Thanks a lot, I will modify and commit....
>
> Weian
>
> -----Original Message-----
> From: Eric Hyche [mailto:ehyche real.com]
> Sent: 2008年3月10日 22:57
> To: Chen, Weian; datatype-dev helixcommunity.org
> Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> Subject: RE: Re-Send: [datatype-dev][helix-client-dev]
CR:
> Fix the issue that when the wmvcontent is bad, the
player
> can't get the correct duration
>
>
> Several comments on this change:
>
> 1) As you can see in hxprefutil.h, there are two
versions of each
> ReadPrefXXXX() function - one that takes an
IUnknown* and one that
> takes an IHXPreferences. Unless you already have an
IHXPreferences*
> handy, you should use the one that takes a IUnknown*.
So in this
> change we should be using the version that takes an
IUnknown*. So
> there's no need to QI for IHXPreferences in this
change.
>
> 2) "Selection" in the pref name is
misspelled, and we should spell out
> "threshold". So the pref name should be
> "DurationSelectionThreshold".
>
> 3) ullDurationFromExtObj is unsigned, so it will never
be < 0. So the
> <= 0 can just be a == 0 check.
>
> 4) We should add a descriptive comment right before the
if clause:
>
> + if (ullDurationFromExtObj <= 0 ||
> + ullDurationFromExtObj >
> (ullDurationFromFileHeader * (m_ulDurationSelectionThrd
+ 100) / 100))
>
> which explains why we are doing this check. This
comment should
> describe the buggy files (where duration in extended
stream
> properties object is
> supposed to be in milliseconds but some buggy file
writers
> wrote it out in
> units of 100ns) and therefore why this if()
comparison is needed.
>
> 5) I'm not sure why we need the duration selection
threshold to be
> in a member variable since we are only using it one
time
> inside function scope.
>
> Eric
>
> =============================================
> Eric Hyche (ehyche real.com)
> Technical Lead
> RealNetworks, Inc.
>
> > -----Original Message-----
> > From: Chen, Weian [mailto:weian.chen intel.com]
> > Sent: Monday, March 10, 2008 3:18 AM
> > To: ehyche real.com; datatype-dev helixcommunity.org
> > Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> > Subject: Re-Send: [datatype-dev][helix-client-dev]
CR: Fix
> > the issue that when the wmvcontent is bad, the
player can't
> > get the correct duration
> >
> > Synopsis:
> > Fix the issue: when the wmv content is bad, the
player
> > can't get the correct duration
> >
> > Overview:
> > The duration of a stream can either be from the
file
> > properties or from extended stream properties, we
will try
> > and detect when we encounter a bad content
(something wrong
> > in the extended stream properties) and then in
that case, use
> > the duration in the file properties object.
> >
> > Files Added:
> > None
> >
> > Files Modified:
> > datatype/wm/fileformat/asf_file_format_file.cpp
> >
datatype/wm/fileformat/pub/asf_file_format_file.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:
> > <asffflib.a> <asfff.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) -> all_wm_plugins
> > 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:
> > datatype-wm-duration.diff
> >
> > thanks!
> > Weian
> >
> > -----Original Message-----
> > From: Eric Hyche [mailto:ehyche real.com]
> > Sent: 2008年2月27日 12:21
> > To: Chen, Weian; datatype-dev helixcommunity.org
> > Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> > Subject: RE: [datatype-dev][helix-client-dev] CR:
Fix the
> > issue that when the wmvcontent is bad, the player
can't get
> > the correct duration
> >
> >
> > Hmmm.. I'm confused. The Overview below does not
> > match the diff attached.
> >
> > As we talked about before, we should fix this
> > in datatype/wm/fileformat, not at the client core
> > level. The description below sounds right - when
we
> > detect that the extended stream properties
duration is
> > wrong, then don't use it, and use the duration in
> > the file properties object instead.
> >
> > Eric
> >
> > =============================================
> > Eric Hyche (ehyche real.com)
> > Technical Lead
> > RealNetworks, Inc.
> >
> > > -----Original Message-----
> > > From: datatype-dev-bounces helixcommunity.org
> > > [mailto:datatype-dev-bounces helixcommunity.org] On Behalf Of
> > > Chen, Weian
> > > Sent: Tuesday, February 26, 2008 3:49 AM
> > > To: datatype-dev helixcommunity.org
> > > Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> > > Subject: [datatype-dev][helix-client-dev] CR:
Fix the issue
> > > that when the wmvcontent is bad, the player
can't get the
> > > correct duration
> > >
> > > Synopsis:
> > >
> > > Fix the issue: when the wmv content is bad,
the player
> > > can't get the correct duration
> > >
> > >
> > >
> > > Overview:
> > >
> > > The duration of a stream can either be from
the file
> > > properties or from extended stream
properties, we will try
> > > and detect when we encounter a bad content
(something wrong
> > > in the extended stream properties) and then
in that case, use
> > > the duration in the file properties object.
> > >
> > >
> > >
> > > Files Added:
> > >
> > > None
> > >
> > >
> > >
> > > Files Modified:
> > >
> > > client/core/hxsrc.cpp
> > >
> > > client/core/hxbsrc.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:
> > >
> > > <hxmedplyeng.so>
<clntcorelib.a>
> > >
> > >
> > >
> > > Distribution library impact and planned
action:
> > >
> > > <None>
> > >
> > >
> > >
> > > Platforms and Profiles Build Verified:
> > >
> > > Set BIF branch ->
hxclient_3_1_0_atlas
> > >
> > > Set Target(s) -> client_core
> > >
> > > 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:
> > >
> > > client-core-wmv-duration.diff
> > >
> > >
> > >
> > > Weian
> > >
> > >
> > >
> > >
> >
> >
>
>
> _______________________________________________
> Datatype-dev mailing list
> Datatype-dev helixcommunity.org
> http://lists.helixcommunity.org/mailman/listinfo/da
tatype-dev
>
_______________________________________________
Helix-client-dev mailing list
Helix-client-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinf
o/helix-client-dev
|
|
| RE: CN: Fix the issue thatwhen the
wmvcontent is bad, the player ca |
  United States |
2008-03-12 08:46:09 |
No problem - I thought there might have been some kind
of issue with CVS or the automated emailing.
Thanks for clarifying this.
Eric
=============================================
Eric Hyche (ehyche real.com)
Technical Lead
RealNetworks, Inc.
> -----Original Message-----
> From: Chen, Weian [mailto:weian.chen intel.com]
> Sent: Tuesday, March 11, 2008 9:22 PM
> To: ehyche real.com; datatype-dev helixcommunity.org
> Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> Subject: RE: [datatype-dev][helix-client-dev] CN: Fix
the
> issue thatwhen the wmvcontent is bad, the player can't
get
> the correct duration
>
> Eric:
>
> I am so sorry, I have made a mistake, and it should be
as follows:
>
> Synopsis:
> Fix the issue: when the wmv content is bad, the
player
> can't get the correct duration
>
> Overview:
> The duration of a stream can either be from the file
> properties or from extended stream properties, we will
try
> and detect when we encounter a bad content (something
wrong
> in the extended stream properties) and then in that
case, use
> the duration in the file properties object.
>
> Files Added:
> None
>
> Files Modified:
> datatype/wm/fileformat/asf_file_format_file.cpp
> datatype/wm/fileformat/pub/asf_file_format_file.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:
> <asffflib.a> <asfff.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) -> all_wm_plugins
> 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:
> datatype-wm-duration.diff
>
> Weian
>
> -----Original Message-----
> From: Eric Hyche [mailto:ehyche real.com]
> Sent: 2008$BG/(B3$B7n(B11$BF|(B 21:35
> To: Chen, Weian; datatype-dev helixcommunity.org
> Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> Subject: RE: [datatype-dev][helix-client-dev] CN: Fix
the
> issue thatwhen the wmvcontent is bad, the player can't
get
> the correct duration
>
>
> Weian,
>
> I'm a bit confused. I was interested in seeing the
final diff that you
> committed, so I went to look at the datatype-cvs
mailing list
> to see the diff. I have included the commit email
below.
>
> As you can see, the comments pasted into the commit
text don't match
> what was actually committed.
>
> The diff looks fine - I was just wondering what was
going on with
> the rest of the text....
>
> Eric
>
> =============================================
> Eric Hyche (ehyche real.com)
> Technical Lead
> RealNetworks, Inc.
>
>
------------------------------------------------------------
--
> -----------------------------
> Modified Files:
> asf_file_format_file.cpp
> Log Message:
> Synopsis:
> Make the thread callback function of dtdriver work
well on
> UNIX platform.
>
> Overview:
> To make the thread callback function work well on
Unix
> platform (in file thrdcbmgr.cpp and thrdcbmgr.h), we
should
> inherited from interface IHXInterruptOnly, and
implement the
> function IsInterruptOnly(), then the thread function
> Func() can be trigged.
>
> Files Added:
> No file added
>
> Files Modified:
> thrdcbmgr.cpp
(/datatype/tools/dtdriver/dtdrplin/platform/unix/)
> thrdcbmgr.h
(/datatype/tools/dtdriver/dtdrplin/platform/unix/)
>
> 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:
> <dtdrplin.so>
> <hxdtdriver.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_tools_dtdriver
> 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:
> dtdrplin-thrdcbmgr.diff
>
>
> Index: asf_file_format_file.cpp
>
============================================================
=======
> RCS file:
/cvsroot/datatype/wm/fileformat/asf_file_format_file.cpp,v
> retrieving revision 1.13
> retrieving revision 1.14
> diff -u -d -r1.13 -r1.14
> --- asf_file_format_file.cpp 21 Feb 2008 04:53:18
-0000 1.13
> +++ asf_file_format_file.cpp 11 Mar 2008 02:57:14
-0000 1.14
>  -57,6 +57,7 
> #include "asf_index.h"
> #include "asf_file_format.ver"
> #include "hxheap.h"
> +#include "hxprefutil.h"
>
> #if defined(HELIX_FEATURE_DRM)
> #include "hxdrm.h"
>  -2117,6 +2118,8 
> UINT32 CASFFileFormatFile::GetDuration(UINT16
usWMStreamNum)
> {
> UINT32 ulRet = 0;
> + UINT64 ullDurationFromFileHeader = 0;
> + UINT64 ullDurationFromExtObj = 0;
>
> // First check if we have an extended stream
properties
> for this WM stream number
> HXBOOL bFound = FALSE;
>  -2152,8 +2155,31 
> {
> // The duration is the difference
> between the start time and end time
> UINT64 ullDiff = ullEndTime -
ullStartTime;
> - ulRet =
INT64_TO_UINT32(ullDiff);
> + ullDurationFromExtObj = ullDiff;
> + //ulRet =
INT64_TO_UINT32(ullDiff);
> bFound = TRUE;
> + }
> +
> + UINT32 ulDurationSelectionThrd =
> HX_DURATION_SELECTION_THRD;
> + HX_ASSERT (m_pContext);
> + ReadPrefUINT32 (m_pContext,
> "DurationSelectionThreshold",
ulDurationSelectionThrd);
> +
> + ullDurationFromFileHeader =
> m_pFilePropertiesObject->m_ullPlayDuration /
((UINT64) 10000);
> + ullDurationFromFileHeader -=
> m_pFilePropertiesObject->m_ullPreroll;
> +
> + // The duration in extended stream
> properties object is supposed to be
> + // milliseconds but some buggy file
writers
> wrote it out in units of 100ns,
> + // and in this condition, the duration
will
> be much larger than the correct one,
> + // so we should check it here and
choose the
> right one, and also the user can
> + // configure the
"DurationSelectionThreshold" value
> + if (ullDurationFromExtObj == 0 ||
> + ullDurationFromExtObj >
> (ullDurationFromFileHeader * (ulDurationSelectionThrd +
100) / 100))
> + {
> + ulRet =
> INT64_TO_UINT32(ullDurationFromFileHeader);
> + }
> + else
> + {
> + ulRet =
> INT64_TO_UINT32(ullDurationFromExtObj);
> }
> }
> }
>
------------------------------------------------------------
--
> -----------------------------
>
>
> =============================================
> Eric Hyche (ehyche real.com)
> Technical Lead
> RealNetworks, Inc.
>
> > -----Original Message-----
> > From: Chen, Weian [mailto:weian.chen intel.com]
> > Sent: Monday, March 10, 2008 11:01 PM
> > To: ehyche real.com; datatype-dev helixcommunity.org
> > Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> > Subject: [datatype-dev][helix-client-dev] CN: Fix
the issue
> > thatwhen the wmvcontent is bad, the player can't
get the
> > correct duration
> >
> >
> > Commit to head and atlas branch.
> >
> > Thanks!
> > Weian
> >
> > -----Original Message-----
> > From: datatype-dev-bounces helixcommunity.org
> > [mailto:datatype-dev-bounces helixcommunity.org] On
Behalf Of
> > Chen, Weian
> > Sent: 2008$BG/(B3$B7n(B11$BF|(B 10:18
> > To: ehyche real.com; datatype-dev helixcommunity.org
> > Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> > Subject: RE: Re-Send:
[datatype-dev][helix-client-dev] CR:
> > Fix the issue thatwhen the wmvcontent is bad, the
player
> > can't get the correct duration
> >
> >
> >
> > Thanks a lot, I will modify and commit....
> >
> > Weian
> >
> > -----Original Message-----
> > From: Eric Hyche [mailto:ehyche real.com]
> > Sent: 2008$BG/(B3$B7n(B10$BF|(B 22:57
> > To: Chen, Weian; datatype-dev helixcommunity.org
> > Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> > Subject: RE: Re-Send:
[datatype-dev][helix-client-dev] CR:
> > Fix the issue that when the wmvcontent is bad, the
player
> > can't get the correct duration
> >
> >
> > Several comments on this change:
> >
> > 1) As you can see in hxprefutil.h, there are two
versions of each
> > ReadPrefXXXX() function - one that takes an
IUnknown*
> and one that
> > takes an IHXPreferences. Unless you already
have an
> IHXPreferences*
> > handy, you should use the one that takes a
IUnknown*. So in this
> > change we should be using the version that takes
an IUnknown*. So
> > there's no need to QI for IHXPreferences in this
change.
> >
> > 2) "Selection" in the pref name is
misspelled, and we
> should spell out
> > "threshold". So the pref name should
be
> > "DurationSelectionThreshold".
> >
> > 3) ullDurationFromExtObj is unsigned, so it will
never be <
> 0. So the
> > <= 0 can just be a == 0 check.
> >
> > 4) We should add a descriptive comment right
before the if clause:
> >
> > + if (ullDurationFromExtObj <= 0
||
> > + ullDurationFromExtObj >
> > (ullDurationFromFileHeader *
(m_ulDurationSelectionThrd +
> 100) / 100))
> >
> > which explains why we are doing this check. This
comment should
> > describe the buggy files (where duration in
extended stream
> > properties object is
> > supposed to be in milliseconds but some buggy
file writers
> > wrote it out in
> > units of 100ns) and therefore why this if()
comparison is needed.
> >
> > 5) I'm not sure why we need the duration selection
threshold to be
> > in a member variable since we are only using it
one time
> > inside function scope.
> >
> > Eric
> >
> > =============================================
> > Eric Hyche (ehyche real.com)
> > Technical Lead
> > RealNetworks, Inc.
> >
> > > -----Original Message-----
> > > From: Chen, Weian [mailto:weian.chen intel.com]
> > > Sent: Monday, March 10, 2008 3:18 AM
> > > To: ehyche real.com; datatype-dev helixcommunity.org
> > > Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> > > Subject: Re-Send:
[datatype-dev][helix-client-dev] CR: Fix
> > > the issue that when the wmvcontent is bad,
the player can't
> > > get the correct duration
> > >
> > > Synopsis:
> > > Fix the issue: when the wmv content is bad,
the player
> > > can't get the correct duration
> > >
> > > Overview:
> > > The duration of a stream can either be from
the file
> > > properties or from extended stream
properties, we will try
> > > and detect when we encounter a bad content
(something wrong
> > > in the extended stream properties) and then
in that case, use
> > > the duration in the file properties object.
> > >
> > > Files Added:
> > > None
> > >
> > > Files Modified:
> > >
datatype/wm/fileformat/asf_file_format_file.cpp
> > >
datatype/wm/fileformat/pub/asf_file_format_file.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:
> > > <asffflib.a> <asfff.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) -> all_wm_plugins
> > > 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:
> > > datatype-wm-duration.diff
> > >
> > > thanks!
> > > Weian
> > >
> > > -----Original Message-----
> > > From: Eric Hyche [mailto:ehyche real.com]
> > > Sent: 2008$BG/(B2$B7n(B27$BF|(B 12:21
> > > To: Chen, Weian; datatype-dev helixcommunity.org
> > > Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> > > Subject: RE: [datatype-dev][helix-client-dev]
CR: Fix the
> > > issue that when the wmvcontent is bad, the
player can't get
> > > the correct duration
> > >
> > >
> > > Hmmm.. I'm confused. The Overview below does
not
> > > match the diff attached.
> > >
> > > As we talked about before, we should fix this
> > > in datatype/wm/fileformat, not at the client
core
> > > level. The description below sounds right -
when we
> > > detect that the extended stream properties
duration is
> > > wrong, then don't use it, and use the
duration in
> > > the file properties object instead.
> > >
> > > Eric
> > >
> > >
=============================================
> > > Eric Hyche (ehyche real.com)
> > > Technical Lead
> > > RealNetworks, Inc.
> > >
> > > > -----Original Message-----
> > > > From: datatype-dev-bounces helixcommunity.org
> > > > [mailto:datatype-dev-bounces helixcommunity.org] On Behalf Of
> > > > Chen, Weian
> > > > Sent: Tuesday, February 26, 2008 3:49
AM
> > > > To: datatype-dev helixcommunity.org
> > > > Cc: Shen, Cathy; helix-client-dev helixcommunity.org
> > > > Subject:
[datatype-dev][helix-client-dev] CR: Fix the issue
> > > > that when the wmvcontent is bad, the
player can't get the
> > > > correct duration
> > > >
> > > > Synopsis:
> > > >
> > > > Fix the issue: when the wmv content is
bad, the player
> > > > can't get the correct duration
> > > >
> > > >
> > > >
> > > > Overview:
> > > >
> > > > The duration of a stream can either be
from the file
> > > > properties or from extended stream
properties, we will try
> > > > and detect when we encounter a bad
content (something wrong
> > > > in the extended stream properties) and
then in that case, use
> > > > the duration in the file properties
object.
> > > >
> > > >
> > > >
> > > > Files Added:
> > > >
> > > > None
> > > >
> > > >
> > > >
> > > > Files Modified:
> > > >
> > > > client/core/hxsrc.cpp
> > > >
> > > > client/core/hxbsrc.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:
> > > >
> > > > <hxmedplyeng.so>
<clntcorelib.a>
> > > >
> > > >
> > > >
> > > > Distribution library impact and planned
action:
> > > >
> > > > <None>
> > > >
> > > >
> > > >
> > > > Platforms and Profiles Build Verified:
> > > >
> > > > Set BIF branch ->
hxclient_3_1_0_atlas
> > > >
> > > > Set Target(s) -> client_core
> > > >
> > > > 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:
> > > >
> > > > client-core-wmv-duration.diff
> > > >
> > > >
> > > >
> > > > Weian
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> >
> >
> > _______________________________________________
> > Datatype-dev mailing list
> > Datatype-dev helixcommunity.org
> > http://lists.helixcommunity.org/mailman/listinfo/da
tatype-dev
> >
>
_______________________________________________
Helix-client-dev mailing list
Helix-client-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinf
o/helix-client-dev
|
|
[1-9]
|
|