|
List Info
Thread: CR: player_kit_python_hxrecord - Initialization and deallocation fixes
|
|
| CR: player_kit_python_hxrecord -
Initialization and deallocation fixes |
  United States |
2008-04-09 16:13:26 |
Modified by: Peter Krenesky <peter osuosl.org>
Project: player_kit_python_hxrecord
Synopsis: A collection of fixes for intialization and
deallocation of
the python module and other classes. Prior to this fix the
module was
never being deallocated resulting in resources that may
never be
released. This patch also removes some unused references
and corrects
some weird initialization functions.
Files Modified:
player/kit/python/hxrecord/hxaudience.cpp
player/kit/python/hxrecord/hxaudience.h
player/kit/python/hxrecord/hxdestination.cpp
player/kit/python/hxrecord/hxdestination.h
player/kit/python/hxrecord/hxfilter.cpp
player/kit/python/hxrecord/hxfilter.h
player/kit/python/hxrecord/hxinput.cpp
player/kit/python/hxrecord/hxinput.h
player/kit/python/hxrecord/hxmediaprofile.cpp
player/kit/python/hxrecord/hxmediaprofile.h
player/kit/python/hxrecord/hxoutputprofile.cpp
player/kit/python/hxrecord/hxoutputprofile.h
player/kit/python/hxrecord/pyaudience.pp
player/kit/python/hxrecord/pydestination.cpp
player/kit/python/hxrecord/pyinput.cpp
player/kit/python/hxrecord/pymediaprofile.cpp
player/kit/python/hxrecord/pyoutputprofile.cpp
player/kit/python/hxrecord/pypostfilter.cpp
player/kit/python/hxrecord/pyprefilter.cpp
player/kit/python/hxrecord/pystreamconfig.cpp
player/kit/python/hxrecord/hxjob.cpp
player/kit/python/hxrecord/hxjob.h
player/kit/python/hxrecord/hxrecord.cpp
player/kit/python/hxrecord/hxrecord.h
player/kit/python/hxrecord/pyjob.cpp
player/kit/python/hxrecord/pyjob.h
player/kit/python/hxrecord/pyrecord.cpp
Details:
hxrecord.cpp, hxrecord.h
* Moved CreateJob() to the cpp file, it was not
needed as an
inline function
* Cleaned up the init function.
- no longer requires a reference to itself in
order to
initialize
- no longer returns itself, now returns
HX_RESULT so errors
can be handled properly
- error when library fails to load is now
reported properly
rather than segfaulting
pyrecord.cpp
* added function for deallocating module
* updated hxrecord_create_job() to use new
constructors for job
wrapper
* updated hxrecord_init() to handle restructured
init()
function. now reports errors gracefully to python
* module constructor now AddRef's core
hxjob.cpp, hxjob.h
* Destroy() now unsubscribes the core from receiving
events for
the job being destroyed. This bug caused references to the
core to be
held onto preventing the core from ever being deconstructed
* Removed circular reference between wrapper and
wrapped object.
* modified initialization function to match how the
other wrapped
objects are created
* removed Create() function which is now unused
pyjob.cpp, pyjob.h
* constructor now requires pointer to IHXTEncodingJob
which will
be wrapped
* modified constructor to use restructured method of
creating wrapper
hxaudience.cpp, hxaudience.h, hxdestination.cpp,
hxdestination.h,
hxfilter.cpp, hxfilter.h, hxinput.cpp, hxinput.h,
hxmediaprofile.cpp,
hxmediaprofile.h, hxoutputprofile.cpp, hxoutputprofile.h,
pyaudience.cpp,
pydestination.cpp, pyinput.cpp, pymediaprofile.cpp,
pyoutputprofile.cpp,
pypostfilter.cpp, pyprefilter.cpp, pystreamconfig.cpp:
* Removed unused circular reference between wrapped
object and
wrapper. This included removing
the member variable from the base class and
removing the
pointer from the constructors for all the
objects
Platforms and Profiles Functionality verified:
x86 helix-client-OLPC
Branch: HEAD Atlas-310
Copyright assignment:
In consideration for RealNetworks' hosting and maintenance
of my
modification,
I agree to assign to RealNetworks full copyright ownership
of the code
included in the attached patch, and agree that RealNetworks
has no duty
of accounting to me for it. I warrant that this code is
entirely
original to and owned by me, that I can legally grant the
copyright
assignment, and that my contribution does not violate any
other person's
rights, and laws or breach any contract. I understand that
RealNetworks
may license this code under RPSL, RCSL, and/or any other
license at
RealNetworks' discretion, and use the code in any way.
QA Instructions:
use the python api to open and close a job. verify that
deconstructor
for module is called using debugger
_______________________________________________
Helix-client-dev mailing list
Helix-client-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinf
o/helix-client-dev
|
|
|
| Re: CR: player_kit_python_hxrecord -
Initialization and deallocation fixes |
  United States |
2008-04-15 16:15:54 |
Looks good Peter.
--greg.
Peter Krenesky wrote:
> Modified by: Peter Krenesky <peter osuosl.org>
> Project: player_kit_python_hxrecord
>
> Synopsis: A collection of fixes for intialization and
deallocation of
> the python module and other classes. Prior to this fix
the module was
> never being deallocated resulting in resources that may
never be
> released. This patch also removes some unused
references and corrects
> some weird initialization functions.
>
>
> Files Modified:
> player/kit/python/hxrecord/hxaudience.cpp
> player/kit/python/hxrecord/hxaudience.h
> player/kit/python/hxrecord/hxdestination.cpp
> player/kit/python/hxrecord/hxdestination.h
> player/kit/python/hxrecord/hxfilter.cpp
> player/kit/python/hxrecord/hxfilter.h
> player/kit/python/hxrecord/hxinput.cpp
> player/kit/python/hxrecord/hxinput.h
> player/kit/python/hxrecord/hxmediaprofile.cpp
> player/kit/python/hxrecord/hxmediaprofile.h
> player/kit/python/hxrecord/hxoutputprofile.cpp
> player/kit/python/hxrecord/hxoutputprofile.h
> player/kit/python/hxrecord/pyaudience.pp
> player/kit/python/hxrecord/pydestination.cpp
> player/kit/python/hxrecord/pyinput.cpp
> player/kit/python/hxrecord/pymediaprofile.cpp
> player/kit/python/hxrecord/pyoutputprofile.cpp
> player/kit/python/hxrecord/pypostfilter.cpp
> player/kit/python/hxrecord/pyprefilter.cpp
> player/kit/python/hxrecord/pystreamconfig.cpp
> player/kit/python/hxrecord/hxjob.cpp
> player/kit/python/hxrecord/hxjob.h
> player/kit/python/hxrecord/hxrecord.cpp
> player/kit/python/hxrecord/hxrecord.h
> player/kit/python/hxrecord/pyjob.cpp
> player/kit/python/hxrecord/pyjob.h
> player/kit/python/hxrecord/pyrecord.cpp
>
>
> Details:
>
> hxrecord.cpp, hxrecord.h
> * Moved CreateJob() to the cpp file, it was not
needed as an
> inline function
> * Cleaned up the init function. - no
longer requires a
> reference to itself in order to initialize
> - no longer returns itself, now returns
HX_RESULT so errors
> can be handled properly
> - error when library fails to load is now
reported properly
> rather than segfaulting
> pyrecord.cpp * added function for
deallocating module
> * updated hxrecord_create_job() to use new
constructors for job
> wrapper
> * updated hxrecord_init() to handle restructured
init() function.
> now reports errors gracefully to python
> * module constructor now AddRef's core
>
> hxjob.cpp, hxjob.h
> * Destroy() now unsubscribes the core from
receiving events for
> the job being destroyed. This bug caused references to
the core to be
> held onto preventing the core from ever being
deconstructed
> * Removed circular reference between wrapper and
wrapped object.
> * modified initialization function to match how
the other wrapped
> objects are created
> * removed Create() function which is now unused
> pyjob.cpp, pyjob.h
> * constructor now requires pointer to
IHXTEncodingJob which will
> be wrapped
> * modified constructor to use restructured method
of creating wrapper
>
> hxaudience.cpp, hxaudience.h, hxdestination.cpp,
hxdestination.h,
> hxfilter.cpp, hxfilter.h, hxinput.cpp, hxinput.h,
hxmediaprofile.cpp,
> hxmediaprofile.h, hxoutputprofile.cpp,
hxoutputprofile.h, pyaudience.cpp,
> pydestination.cpp, pyinput.cpp, pymediaprofile.cpp,
pyoutputprofile.cpp,
> pypostfilter.cpp, pyprefilter.cpp,
pystreamconfig.cpp:
>
> * Removed unused circular reference between
wrapped object and
> wrapper. This included removing
> the member variable from the base class and
removing the
> pointer from the constructors for all the
> objects
>
>
> Platforms and Profiles Functionality verified:
> x86 helix-client-OLPC
>
> Branch: HEAD Atlas-310
>
>
> Copyright assignment:
> In consideration for RealNetworks' hosting and
maintenance of my
> modification,
>
> I agree to assign to RealNetworks full copyright
ownership of the code
> included in the attached patch, and agree that
RealNetworks has no duty
> of accounting to me for it. I warrant that this code is
entirely
> original to and owned by me, that I can legally grant
the copyright
> assignment, and that my contribution does not violate
any other person's
> rights, and laws or breach any contract. I understand
that RealNetworks
> may license this code under RPSL, RCSL, and/or any
other license at
> RealNetworks' discretion, and use the code in any way.
>
>
> QA Instructions:
>
> use the python api to open and close a job. verify
that deconstructor
> for module is called using debugger
>
>
>
------------------------------------------------------------
------------
>
> _______________________________________________
> Helix-client-dev mailing list
> Helix-client-dev helixcommunity.org
> http://lists.helixcommunity.org/mailman/listinf
o/helix-client-dev
_______________________________________________
Helix-client-dev mailing list
Helix-client-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinf
o/helix-client-dev
|
|
[1-2]
|
|