deb_libcec.git
9 years agoApply upstreamed patch. upstream upstream/2.2.0
Jérôme Benoit [Mon, 1 Dec 2014 15:36:51 +0000 (16:36 +0100)] 
Apply upstreamed patch.

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
9 years agoMerge branch 'release' of https://github.com/Pulse-Eight/libcec into upstream
Jérôme Benoit [Wed, 26 Nov 2014 02:28:34 +0000 (03:28 +0100)] 
Merge branch 'release' of https://github.com/Pulse-Eight/libcec into upstream

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
Conflicts:
debian/changelog
debian/libcec-get-orig-source
debian/rules

9 years agoImported Upstream version 2.2.0
Jérôme Benoit [Wed, 26 Nov 2014 02:18:00 +0000 (03:18 +0100)] 
Imported Upstream version 2.2.0

9 years agoMerge branch 'master' into release
Lars Op den Kamp [Fri, 31 Oct 2014 19:11:22 +0000 (20:11 +0100)] 
Merge branch 'master' into release

9 years agofixed OS X build: USE_X11_RANDR wasn't defined
Lars Op den Kamp [Fri, 31 Oct 2014 19:10:59 +0000 (20:10 +0100)] 
fixed OS X build: USE_X11_RANDR wasn't defined

9 years agoRelease 2.2.0
Lars Op den Kamp [Tue, 28 Oct 2014 15:19:42 +0000 (16:19 +0100)] 
Release 2.2.0

9 years agofixed: don't call CEC_ALERT_CONNECTION_LOST when closing the connection, which caused...
Lars Op den Kamp [Tue, 28 Oct 2014 12:48:02 +0000 (13:48 +0100)] 
fixed: don't call CEC_ALERT_CONNECTION_LOST when closing the connection, which caused a deadlock in XBMC. the lock needs to be solved in XBMC still for the odd situation in which this does occur on exit at the same time, but now it won't happen on each exit

9 years agobackwards compatibility for older client versions and the new double tap timeout...
Lars Op den Kamp [Tue, 28 Oct 2014 12:33:33 +0000 (13:33 +0100)] 
backwards compatibility for older client versions and the new double tap timeout. fixes very long timeouts when upgrading libCEC without upgrading XBMC to Helix

9 years agoupdated changelog
Lars Op den Kamp [Tue, 28 Oct 2014 09:46:07 +0000 (10:46 +0100)] 
updated changelog

9 years agoMerge pull request #41 from opdenkamp/libcec-2.2.0
Lars Op den Kamp [Tue, 28 Oct 2014 09:11:21 +0000 (10:11 +0100)] 
Merge pull request #41 from opdenkamp/libcec-2.2.0

preparing for a new release

9 years agofixed: LibCecTray - keypress not sent when multiple instances of eshell.exe are runni...
Lars Op den Kamp [Mon, 27 Oct 2014 21:10:53 +0000 (22:10 +0100)] 
fixed: LibCecTray - keypress not sent when multiple instances of eshell.exe are running. closes #10
thanks @pvanbaren

9 years agofixed missing bump of CEC_SERVER_VERSION_CURRENT
Lars Op den Kamp [Mon, 27 Oct 2014 14:56:03 +0000 (15:56 +0100)] 
fixed missing bump of CEC_SERVER_VERSION_CURRENT

9 years agoupdated copyright notice year
Lars Op den Kamp [Mon, 27 Oct 2014 11:44:29 +0000 (12:44 +0100)] 
updated copyright notice year

9 years agofixed: don't stick a value larger than 255 in a byte
Lars Op den Kamp [Mon, 27 Oct 2014 10:11:13 +0000 (11:11 +0100)] 
fixed: don't stick a value larger than 255 in a byte
the solution isn't very nice, but it'll work for now without breaking binary compatibility. the member will be replaced in the next major release

9 years agocosmetics
Lars Op den Kamp [Mon, 27 Oct 2014 10:02:48 +0000 (11:02 +0100)] 
cosmetics

9 years agofixed configure on systems without curses support. thanks @MilhouseVH
Lars Op den Kamp [Mon, 27 Oct 2014 09:33:58 +0000 (10:33 +0100)] 
fixed configure on systems without curses support. thanks @MilhouseVH

9 years agobump to v2.2.0
Lars Op den Kamp [Fri, 24 Oct 2014 20:02:15 +0000 (22:02 +0200)] 
bump to v2.2.0

9 years agoMerge PR #39
Lars Op den Kamp [Fri, 24 Oct 2014 19:42:17 +0000 (21:42 +0200)] 
Merge PR #39

9 years agoMerge PR #32
Lars Op den Kamp [Fri, 24 Oct 2014 19:41:16 +0000 (21:41 +0200)] 
Merge PR #32

9 years agoMerge PR #31
Lars Op den Kamp [Fri, 24 Oct 2014 19:40:44 +0000 (21:40 +0200)] 
Merge PR #31

9 years agoMerge PR #20
Lars Op den Kamp [Fri, 24 Oct 2014 19:40:03 +0000 (21:40 +0200)] 
Merge PR #20

9 years agoMerge PR #29
Lars Op den Kamp [Fri, 24 Oct 2014 19:16:29 +0000 (21:16 +0200)] 
Merge PR #29

9 years agoMerge PR #21
Lars Op den Kamp [Fri, 24 Oct 2014 19:04:39 +0000 (21:04 +0200)] 
Merge PR #21

9 years agoMerge PR #6
Lars Op den Kamp [Fri, 24 Oct 2014 19:02:38 +0000 (21:02 +0200)] 
Merge PR #6

9 years agoFix typo in rejecting invalid keycodes
popcornmix [Fri, 24 Oct 2014 12:22:57 +0000 (13:22 +0100)] 
Fix typo in rejecting invalid keycodes

9 years agoAdded support for user control codes TOP_MENU, DVD_MENU, SELECT_BROADCAST_TYPE, SELEC...
Kai Sommerfeld [Sun, 22 Jun 2014 17:14:47 +0000 (19:14 +0200)] 
Added support for user control codes TOP_MENU, DVD_MENU, SELECT_BROADCAST_TYPE, SELECT_SOUND_PRESENTATION, NUMBER_ENTRY_MODE, NUMBER11, NUMBER12.

9 years agoFixed CCECCommandHandler::HasSpecificHandler implementation to include vendor TOSHIBA...
Kai Sommerfeld [Sat, 21 Jun 2014 21:25:12 +0000 (23:25 +0200)] 
Fixed CCECCommandHandler::HasSpecificHandler implementation to include vendor TOSHIBA, TOSHIBA2, ONKYO.

9 years agoAdded another id for vendor Harman/Kardon (0x001950)
Kai Sommerfeld [Sat, 21 Jun 2014 21:20:53 +0000 (23:20 +0200)] 
Added another id for vendor Harman/Kardon (0x001950)

9 years agoMerge pull request #27 from kingosticks/fix/export-cec_set_configuration
Lars Op den Kamp [Fri, 13 Jun 2014 10:33:52 +0000 (12:33 +0200)] 
Merge pull request #27 from kingosticks/fix/export-cec_set_configuration

Added missing const for cec_set_configuration argument

9 years agoAdded missing const for cec_set_configuration argument
kingosticks [Mon, 9 Jun 2014 21:48:22 +0000 (22:48 +0100)] 
Added missing const for cec_set_configuration argument

Method now matches prototype and is correctly exported for C.

9 years agoprobably ugly hack to help with some
Matus Kral [Mon, 26 May 2014 18:59:17 +0000 (20:59 +0200)] 
probably ugly hack to help with some
newer Samsung TVs and activating source

9 years agoRPI updates with fixes
Matus Kral [Mon, 26 May 2014 18:56:10 +0000 (20:56 +0200)] 
RPI updates with fixes
- losing device from TVs menu on source changes
- XBMC Input Device settings change will not freeze XBMC
(or disable adapter)
- TV auto connection to adapter properly upon AS command
- imposibility to switch back to RPI even if listed by TV

it is possible it fixes some others as well

9 years agothis solves problem with device dissapearing from TV's menu
Matus Kral [Sun, 25 May 2014 05:03:32 +0000 (07:03 +0200)] 
this solves problem with device dissapearing from TV's menu
when source is changed to another device.

(needs fix on adapter side to correctly mark devices with
"ishandledbycec").

9 years agofix assertion on XBMC exit
Matus Kral [Sun, 20 Apr 2014 20:24:03 +0000 (22:24 +0200)] 
fix assertion on XBMC exit

9 years agofix RPI POLL during LA address negotiation
Matus Kral [Tue, 15 Apr 2014 09:07:00 +0000 (11:07 +0200)] 
fix RPI POLL during LA address negotiation

9 years agoAdd support for Exynos HDMI
Valentin Manea [Sun, 11 May 2014 05:57:44 +0000 (08:57 +0300)] 
Add support for Exynos HDMI

10 years agofix indentation and a few typos
Damien Fouilleul [Mon, 10 Feb 2014 12:14:19 +0000 (12:14 +0000)] 
fix indentation and a few typos

10 years agoreturn HDMI physical address using EDID data retrieved from X11 randr extension
Damien Fouilleul [Sat, 8 Feb 2014 11:41:55 +0000 (11:41 +0000)] 
return HDMI physical address using EDID data retrieved from X11 randr extension

10 years agoMerge branch 'master' into release
Lars Op den Kamp [Wed, 18 Dec 2013 01:16:24 +0000 (02:16 +0100)] 
Merge branch 'master' into release

10 years agobump package to 2.4.1-2
Lars Op den Kamp [Wed, 18 Dec 2013 01:14:49 +0000 (02:14 +0100)] 
bump package to 2.4.1-2

10 years agodon't add -Wno-psabi to mac builds. fixes xbmc build
Lars Op den Kamp [Wed, 18 Dec 2013 01:11:51 +0000 (02:11 +0100)] 
don't add -Wno-psabi to mac builds. fixes xbmc build

10 years agoRelease 2.1.4: merge remote-tracking branch 'origin/master' into release
Lars Op den Kamp [Fri, 13 Dec 2013 18:58:56 +0000 (19:58 +0100)] 
Release 2.1.4: merge remote-tracking branch 'origin/master' into release

10 years agobump to 2.1.4
Lars Op den Kamp [Fri, 13 Dec 2013 11:34:26 +0000 (12:34 +0100)] 
bump to 2.1.4

10 years agoguard against the screensaver failing to be activated. don't disconnect from libCEC...
Lars Op den Kamp [Fri, 13 Dec 2013 14:35:13 +0000 (15:35 +0100)] 
guard against the screensaver failing to be activated. don't disconnect from libCEC when away mode is activated, but just send standby. bugzid: 1375

10 years agoadded ActivateSource action to cectray
Lars Op den Kamp [Fri, 13 Dec 2013 14:17:41 +0000 (15:17 +0100)] 
added ActivateSource action to cectray

10 years agofixed potential crash when SendCommand returns NULL
Lars Op den Kamp [Fri, 13 Dec 2013 13:43:40 +0000 (14:43 +0100)] 
fixed potential crash when SendCommand returns NULL

10 years agofixed crash when CCECProcessor::Transmit was called after CCECProcessor::Close
Lars Op den Kamp [Fri, 13 Dec 2013 12:40:14 +0000 (13:40 +0100)] 
fixed crash when CCECProcessor::Transmit was called after CCECProcessor::Close

10 years agolisten to screensaver events in cectray. bugzid: 1375
Lars Op den Kamp [Fri, 13 Dec 2013 12:36:37 +0000 (13:36 +0100)] 
listen to screensaver events in cectray. bugzid: 1375

10 years agomoved class declarations other than the main form below the main form's declaration...
Lars Op den Kamp [Fri, 13 Dec 2013 11:18:35 +0000 (12:18 +0100)] 
moved class declarations other than the main form below the main form's declaration, or the app may crash with a MissingManifestResourceException. this bug in vs is present since .net 2003...

10 years agostill locking up when disposing, because the log callback is trying to write to the...
Lars Op den Kamp [Fri, 13 Dec 2013 10:51:41 +0000 (11:51 +0100)] 
still locking up when disposing, because the log callback is trying to write to the disposing ui. disconnect from a background thread instead when disposing

10 years agosuppress sending some commands when the tv is not present/responding to polls
Lars Op den Kamp [Fri, 13 Dec 2013 10:26:20 +0000 (11:26 +0100)] 
suppress sending some commands when the tv is not present/responding to polls

10 years agodon't lock up on exit in cectray when receiving log messages while the window is...
Lars Op den Kamp [Fri, 13 Dec 2013 10:23:36 +0000 (11:23 +0100)] 
don't lock up on exit in cectray when receiving log messages while the window is disposing

10 years agodon't crash LibCecSharp when receiving an alert with a NULL param (like the connectio...
Lars Op den Kamp [Fri, 13 Dec 2013 10:22:46 +0000 (11:22 +0100)] 
don't crash LibCecSharp when receiving an alert with a NULL param (like the connection lost alert)

10 years agodisplay the "tv not responding" warning on top of other windows
Lars Op den Kamp [Fri, 13 Dec 2013 09:52:46 +0000 (10:52 +0100)] 
display the "tv not responding" warning on top of other windows

10 years agodon't crash on exit in cectray by preventing a new action from being started
Lars Op den Kamp [Fri, 13 Dec 2013 09:50:11 +0000 (10:50 +0100)] 
don't crash on exit in cectray by preventing a new action from being started

10 years agodo not wake the system when exiting away mode
Lars Op den Kamp [Fri, 13 Dec 2013 00:56:32 +0000 (01:56 +0100)] 
do not wake the system when exiting away mode

10 years agohandle windows away mode in cectray. treated like standby
Lars Op den Kamp [Fri, 13 Dec 2013 00:32:52 +0000 (01:32 +0100)] 
handle windows away mode in cectray. treated like standby

10 years agoalways call the SourceActivated() callback in CCECBusDevice::MarkAsActiveSource(...
Lars Op den Kamp [Thu, 12 Dec 2013 02:38:03 +0000 (03:38 +0100)] 
always call the SourceActivated() callback in CCECBusDevice::MarkAsActiveSource(), even when we were already active, and let clients handle dupes. this prevented the screensaver from being canceled in XBMC

10 years agoset the vendor id of devices handled by libCEC to our vendor id
Lars Op den Kamp [Thu, 12 Dec 2013 01:58:12 +0000 (02:58 +0100)] 
set the vendor id of devices handled by libCEC to our vendor id

10 years agoadded our vendor id
Lars Op den Kamp [Thu, 12 Dec 2013 01:57:24 +0000 (02:57 +0100)] 
added our vendor id

10 years agosend our vendor id when the tv sends it's vendor id
Lars Op den Kamp [Thu, 12 Dec 2013 01:55:09 +0000 (02:55 +0100)] 
send our vendor id when the tv sends it's vendor id

10 years agotransmit our physical address when the TV sends it's physical address
Lars Op den Kamp [Thu, 12 Dec 2013 01:48:04 +0000 (02:48 +0100)] 
transmit our physical address when the TV sends it's physical address

10 years agofixed: panasonic doesn't request the active source status when powered up, but it...
Lars Op den Kamp [Wed, 11 Dec 2013 13:27:03 +0000 (14:27 +0100)] 
fixed: panasonic doesn't request the active source status when powered up, but it does send a vendor command. send an active source message when we're marked as active source after receiving this command. issue #192

10 years agovendor command 06:05 was commented out for panasonic because it was reported to be...
Lars Op den Kamp [Tue, 10 Dec 2013 11:41:02 +0000 (12:41 +0100)] 
vendor command 06:05 was commented out for panasonic because it was reported to be sent on power off too. i don't see that in the field, and it prevented resume from standby from working correctly. issue #192

10 years agoSL clean up and attempt to fix issue #176
Lars Op den Kamp [Tue, 10 Dec 2013 00:48:08 +0000 (01:48 +0100)] 
SL clean up and attempt to fix issue #176

10 years agotry to reconnect in cec-client when the connection was lost
Lars Op den Kamp [Mon, 9 Dec 2013 22:29:42 +0000 (23:29 +0100)] 
try to reconnect in cec-client when the connection was lost

10 years agoseparate mutex for CUSBCECAdapterCommunication::MarkAsWaiting()
Lars Op den Kamp [Mon, 9 Dec 2013 22:22:17 +0000 (23:22 +0100)] 
separate mutex for CUSBCECAdapterCommunication::MarkAsWaiting()

10 years agoLG: newer firmwares don't send a second power status request after it's been requeste...
Lars Op den Kamp [Mon, 9 Dec 2013 19:21:49 +0000 (20:21 +0100)] 
LG: newer firmwares don't send a second power status request after it's been requested once and replied with 'standby -> on' like previous versions. send an active source message in an attempt to fix this. issue: #176

10 years agoadded protection against standby without a notification from XBMC and clock changes...
Lars Op den Kamp [Mon, 9 Dec 2013 18:00:34 +0000 (19:00 +0100)] 
added protection against standby without a notification from XBMC and clock changes. issue #186

10 years agosuppress mangling warning. credits @warped-rudi. closes #190
Lars Op den Kamp [Mon, 9 Dec 2013 15:56:25 +0000 (16:56 +0100)] 
suppress mangling warning. credits @warped-rudi. closes #190

10 years agofixed leak on exit in CWaitForResponse::Clear()
Lars Op den Kamp [Mon, 9 Dec 2013 15:38:53 +0000 (16:38 +0100)] 
fixed leak on exit in CWaitForResponse::Clear()

10 years agomoved CResponse and CWaitForResponse implementation from .h to .cpp
Lars Op den Kamp [Mon, 9 Dec 2013 15:31:04 +0000 (16:31 +0100)] 
moved CResponse and CWaitForResponse implementation from .h to .cpp

10 years agobuild libCEC and cec-client against toolset v100 (VS2010). lots of 3rd party libs...
Lars Op den Kamp [Mon, 9 Dec 2013 10:58:27 +0000 (11:58 +0100)] 
build libCEC and cec-client against toolset v100 (VS2010). lots of 3rd party libs/programs and their installers only install the previous C++ redist, which will make libCEC fail to load when not manually installing the redist. we can include the correct redist in libCEC's installer, but that will still lead to problems when users just install XBMC from xbmc.org/ which doesn't include the v110 version of the redist. users will get a crash with the CEC adapter connected, not telling them how to fix the issue (thanks MS)

10 years agofixed compilation on windows
Lars Op den Kamp [Mon, 9 Dec 2013 10:47:16 +0000 (11:47 +0100)] 
fixed compilation on windows

10 years agoalso transmit an active source message as response to a set stream path command when...
Lars Op den Kamp [Fri, 6 Dec 2013 11:10:18 +0000 (12:10 +0100)] 
also transmit an active source message as response to a set stream path command when we were already marked as active. bugzid: 3116

10 years agorespond to vendor command 89:10:01:03 for panasonic and send the same response as...
Lars Op den Kamp [Fri, 6 Dec 2013 10:04:42 +0000 (11:04 +0100)] 
respond to vendor command 89:10:01:03 for panasonic and send the same response as for 89:10:01:05. bugzid: 2604

10 years agofixed: only send an active source message when receiving a routing change to an addre...
Lars Op den Kamp [Thu, 17 Oct 2013 11:14:21 +0000 (13:14 +0200)] 
fixed: only send an active source message when receiving a routing change to an address handled by libCEC. issue #56

10 years agosync win32
Lars Op den Kamp [Thu, 5 Sep 2013 17:19:58 +0000 (19:19 +0200)] 
sync win32

10 years agosharp: check whether the 'auto power on' option is disabled and tell the user how...
Lars Op den Kamp [Thu, 5 Sep 2013 17:14:24 +0000 (19:14 +0200)] 
sharp: check whether the 'auto power on' option is disabled and tell the user how to enable it

10 years agoHandleVendorRemoteButtonUp -> HandleUserControlRelease for all vendors
Lars Op den Kamp [Fri, 21 Jun 2013 13:27:05 +0000 (15:27 +0200)] 
HandleVendorRemoteButtonUp -> HandleUserControlRelease for all vendors

10 years agoMerge pull request #180 from Fneufneu/freebsd
Lars Op den Kamp [Thu, 20 Jun 2013 10:18:12 +0000 (03:18 -0700)] 
Merge pull request #180 from Fneufneu/freebsd

FreeBSD: proper the adapter detection

10 years agosilence warning for xx:a0:00:09:b0:00:80:20. bugzid: 2559
Lars Op den Kamp [Wed, 19 Jun 2013 11:12:47 +0000 (13:12 +0200)] 
silence warning for xx:a0:00:09:b0:00:80:20. bugzid: 2559

10 years ago[FreeBSD] update adapter detection
Fneufneu [Wed, 12 Jun 2013 15:06:41 +0000 (17:06 +0200)] 
[FreeBSD] update adapter detection

10 years ago[FreeBSD] find cec devices with sysctl on dev.umodem tree
Fneufneu [Wed, 28 Nov 2012 16:11:15 +0000 (17:11 +0100)] 
[FreeBSD] find cec devices with sysctl on dev.umodem tree
find the usb path of the divice to be able to handle strDevicePath

10 years agoupdate system audio mode when audio system devices are activated
Lars Op den Kamp [Thu, 16 May 2013 11:32:53 +0000 (13:32 +0200)] 
update system audio mode when audio system devices are activated

10 years agosamsung: respond to vendor command 0x23 sent by samsung. attempt to fix bugzid: 2164
Lars Op den Kamp [Thu, 16 May 2013 11:32:07 +0000 (13:32 +0200)] 
samsung: respond to vendor command 0x23 sent by samsung. attempt to fix bugzid: 2164

10 years agopanasonic: silence 'unmapped code' warning. bugzid: 2375
Lars Op den Kamp [Wed, 15 May 2013 09:53:01 +0000 (11:53 +0200)] 
panasonic: silence 'unmapped code' warning. bugzid: 2375

10 years agofixed comboKeyTimeout=0. closes #168
Lars Op den Kamp [Tue, 14 May 2013 23:27:54 +0000 (01:27 +0200)] 
fixed comboKeyTimeout=0. closes #168

10 years agofixed possible crash when the tv does not respond to polls and the client isn't regis...
Lars Op den Kamp [Tue, 14 May 2013 23:15:22 +0000 (01:15 +0200)] 
fixed possible crash when the tv does not respond to polls and the client isn't registered yet. don't poll the tv in monitoring mode. closes #163 and fogbugz ticket

10 years agocosmetics
Lars Op den Kamp [Tue, 14 May 2013 13:49:49 +0000 (15:49 +0200)] 
cosmetics

10 years agoadded vendor id and name 'Harman/Kardon'
Lars Op den Kamp [Tue, 14 May 2013 13:48:52 +0000 (15:48 +0200)] 
added vendor id and name 'Harman/Kardon'

10 years agoadded vendor id and name 'Marantz'
Lars Op den Kamp [Tue, 14 May 2013 12:06:34 +0000 (14:06 +0200)] 
added vendor id and name 'Marantz'

10 years agoMerge branch 'master' into release
Lars Op den Kamp [Mon, 13 May 2013 13:09:14 +0000 (15:09 +0200)] 
Merge branch 'master' into release

10 years agoupdated changelog
Lars Op den Kamp [Sat, 11 May 2013 10:07:13 +0000 (12:07 +0200)] 
updated changelog

10 years agoMerge pull request #172 from warped-rudi/Pulse-Eight
Lars Op den Kamp [Sat, 11 May 2013 10:05:00 +0000 (03:05 -0700)] 
Merge pull request #172 from warped-rudi/Pulse-Eight

[TDA995x] avoid callback when already stopped

10 years agowindows: fixed installer (cp -> copy)
Lars Op den Kamp [Sat, 11 May 2013 09:54:40 +0000 (11:54 +0200)] 
windows: fixed installer (cp -> copy)

10 years agobump to v2.1.3
Lars Op den Kamp [Sun, 7 Apr 2013 09:40:48 +0000 (11:40 +0200)] 
bump to v2.1.3

10 years agotoshiba: fixed - toshiba handler wasn't initialised, and toshiba uses more than one...
Lars Op den Kamp [Fri, 10 May 2013 14:37:23 +0000 (16:37 +0200)] 
toshiba: fixed - toshiba handler wasn't initialised, and toshiba uses more than one vendor id

10 years agofixed - incorrect active source marking after 88d5d47fe5b37b8fab796e0ec563176bf05b3801
Lars Op den Kamp [Tue, 19 Mar 2013 11:25:01 +0000 (12:25 +0100)] 
fixed - incorrect active source marking after 88d5d47fe5b37b8fab796e0ec563176bf05b3801
libCEC marked itself as inactive source when the stream path changed to a device with a different physical address. bugzid: 2157

10 years ago[TDA995x] avoid callback when already stopped
Rudi [Thu, 9 May 2013 15:38:42 +0000 (17:38 +0200)] 
[TDA995x] avoid callback when already stopped