Opened 4 years ago

Last modified 3 years ago

#10659 new defect

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
Blocked By: Blocking:
Deployments affected: Action Needed: package
Verified: no

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 (4)

comment:1 Changed 4 years ago by dsd

  • Component changed from not assigned to record-activity

comment:2 Changed 3 years ago by manuq

  • Cc manuq added

comment:3 Changed 3 years ago by erikos

  • Action Needed 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)

comment:4 Changed 3 years ago by dsd

  • Action Needed 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.