Project Task Page: PyMedia Audio, Pygame and misc bugfixes

Status: Completed
Current Developers: MH, MS
Current "inflight" dev location: /branches/private_MH_20070423_kamaelia_bugfixes
Start Date: 23 April 2007
Expected End Date: 30 April 2007
End Date: 27 April 2007
Date this page last updated: 30 April 2007
Estimated effort so far: 2.0

Description

Bugfixes to fix following:

  • Kamaelia.Audio.PyMedia.Input - not working under win32 (noSpaceInBox exceptions) (see mailing list)
  • Kamaelia.UI.Pygame.Display - not working under win32 and MacOSX (freezes/unresponsive to keyboard/mouse interaction) (see IRC logs)
  • Kamaelia.Util.Chooser - not quiescent
  • Kamaelia example "Show.py" raises exception on startup: (see IRC logs)

Inputs

  • Task Sponsor: MH
  • Task Owner: MH
  • Developers: MH, MS
  • Users: MH, _eris (IRC), David Montgomery
  • Interested third parties: MS
  • Requirements
    • MUST fix the bugs so the problem doesn't occur
    • SHOULD not result in any foreseeable regressions

Outputs

Expected

  • Modifications to:
    • /Code/Python/Kamaelia/Kamaelia/UI/Pygame/Display.py
    • /Code/Python/Kamaelia/Kamaelia/Audio/PyMedia/Input.py
    • /Code/Python/Kamaelia/Kamaelia/Util/Chooser.py
    • /Code/Python/Kamaelia/Kamaelia/Tools/Show.py

Actual

  • Branch /branches/private_MH_20070423_kamaelia_bugfixes/
  • ...containing modifications to:
    • /Code/Python/Kamaelia/Kamaelia/Audio/Input/PyMedia/Input.py
    • /Code/Python/Kamaelia/Kamaelia/UI/Pygame/Display.py
    • /Code/Python/Kamaelia/Kamaelia/Util/Chooser.py
    • /Code/Python/Kamaelia/Tools/Show/GraphSlides.py
    • /Code/Python/Kamaelia/Kamaelia/Support/Data/Experimental.py
  • ... which were merged into /trunk

Realistic possibilities arising as a result of activity on this task

none

Related Tasks

Tasks that directly enable this task (dependencies)

none

Sub Tasks

  • Branch containing modifications
  • Merge of branch

Task Log

  • 2007 04 22 : Task status changed to running
  • 2007 04 22 : Added developer MH
  • 2007 04 22 : Fixed PyMedia Input code in private Sketches area. Tested by MH under win32.
  • 2007 04 23 : Created branch /branches/private_MH_20070423_kamaelia_bugfixes/
  • 2007 04 23 : Fixed PyGame Display bug. Verified working on win32 by MH and MacOSX by eris_
  • 2007 04 23 : Imported fixed PyMedia Input code from Sketches
  • 2007 04 23 : Fixed quiescence in Chooser - tested by MH in Show.py tool
  • 2007 04 25 : Time spent 1.5 days
  • 2007 04 22 : Task status changed to stasis - waiting for test feedback from David Montgomery
  • 2007 04 27 : Removed developer MH
  • 2007 04 27 : Added developer MS
  • 2007 04 27 : Task status changed to running - decided to proceed anyway (MH has already tested on win32)
  • 2007 04 27 : Branch merged
  • 2007 04 27 : Task status changed to completed
  • 2007 04 27 : Time spend 0.5 days

Discussion

Note this branch was renamed (logged by svn as a copy operation). The original branch point is revision r2887. The renaming occurred at revision r2899.

PyMedia Input bug was two-fold:

  • Not handling when pymedia returns "None" instead of string like (not actually string) data; or empty strings
  • Not handling noSpaceInBox exceptions - more likely if pumping out small fragments of data, and never really pausing/waiting

PyGame Display bug:

  • win32 and MacOSX limitations in pygame/SDL require the display to be initialised, and event handling to be done in the application's main thread - not a child thread. Fixed by moving everything into the main thread, but still keeping the child thread as a passive observer that makes sure the main component gets woken up if events are waiting.
show.py bug:
  • misunderstood use of the xml.sax.make_parser call - should have provided a list of strings as an argument rather than a string. Seems to work on Linux on test machines used by MS and MH, but problem shows up on win32 and MacOSX.
-- Matt, 25 April 2007

 

Kamaelia is an open source project originated from and guided by BBC Research. For more information browse the site or get in contact.

This is an ongoing community based development site. As a result the contents of this page is the opinions of the contributors of the pages involved not the organisations involved. Specificially, this page may contain personal views which are not the views of the BBC. (the site is powered by a wiki engine)

(C) Copyright 2008 Kamaelia Contributors, including the British Broadcasting Corporation, All Rights Reserved

This web site is powered by the same code created for the bicker manor project. For more details, contact Michael Sparks at BBC Research directly (cf contact)