Ticket #10659 (new defect)

Opened 4 years ago

Last modified 3 years ago

Record doesn't pause itself when another activity becomes active

Reported by: dsd Owned by: dsd
Priority: normal Milestone: 11.3.0
Component: record-activity Version: not specified
Keywords: Cc: erikos, manuq
Action Needed: package Verified: no
Deployments affected: Blocked By:
Blocking:

Description

A regression in Record-87 over previous versions is that the activity does not pause itself (releasing camera/audio resources) when it becomes inactive.

This is because Sugar has stopped notifying activities of this:  http://bugs.sugarlabs.org/ticket/2570

That bug needs to be fixed, then this functionality needs to be reimplemented.

The impact is that you can't have two camera-using activities (e.g. Record and etoys) open at the same time, whereas this used to be possible.

Change History

Changed 4 years ago by dsd

  • component changed from not assigned to record-activity

Changed 3 years ago by manuq

  • cc manuq added

Changed 3 years ago by erikos

  • next_action changed from never set to code

Actually Memorize is suing the 'focus_in_event' and 'focus_out_event' to determine when to release it's audio resources. This still works fine.

self.connect('focus_in_event', self._focus_in) self.connect('focus_out_event', self._focus_out)

Changed 3 years ago by dsd

  • next_action changed from code to package

While that works, its for keyboard focus. I'd rather stick with GDK window visibility.

Turns out this was (almost) working in Sugar all along, so I've pushed code to Record which fixes this.

However, it doesn't work quite right. See  http://bugs.sugarlabs.org/ticket/2570 and  http://bugs.sugarlabs.org/ticket/3027

The test case that is now expected to work:

  1. Open Terminal
  2. Open Record, wait for live feed to start
  3. Alt-Tab to Terminal.
  4. Confirm that camera light has gone off.
  5. Alt-Tab to Record.
  6. Confirm that live feed restarts.
Note: See TracTickets for help on using tickets.