PDA

View Full Version : [VU+ Duo2] power and zap timer not working properly



bumper
03-02-16, 23:23
I have 2 problems with timers, one with a power timer another one with a zap timer.

(Sorry for german OSD :whistle: )

46671

1)
The power timer switch my Duo² into deep standy after 20min of normal standby. This works only if I put my Duo² into normal standby from watching TV.

If I watch a movie from internal HDD and switch directly to normal standby (without changing to a TV channel) the Duo² stays in normal standby. No deep standby after 20min - the display still shows date and time for hours (maybe days :eek: ).
Looks like the power timer is ignored in this case.

I know the power timer was working in some earlier version of openvix correctly.
Unfortunately I do not know in which version the bug occurred the first time.

46670

2)
If I make a zap timer, e.g. : zap to channel 10 at 18:45 and I watch any TV channel the Duo² switches correctly at 18:45 to channel 10.
If I watch a movie from internal HDD, the Duo² switches at 18:45 to the channel I watched before changing from TV mode to HDD\movie mode. If this was e.g. channel 15, the Duo² switch to this channel. Not channel 10 as in the zap timer.

Could someone confirm this?

Thanks for help!

bumper

birdman
04-02-16, 02:12
If I watch a movie from internal HDD and switch directly to normal standby (without changing to a TV channel) the Duo² stays in normal standby.Are you saying that you don't actually stop the movie: you just go straight to Standby from the Power menu while the movie is running?

I can confirm the zap timer problem (just tested it).

bumper
04-02-16, 13:20
Are you saying that you don't actually stop the movie: you just go straight to Standby from the Power menu while the movie is running?

I can confirm the zap timer problem (just tested it).

It makes no difference if I stop the movie (and stay in movie list) before, or entering standby mode while the movie is running. The auto power off timer doesn't work.

Thanks for testing zap timer :thumbsup:

bumper

birdman
05-02-16, 01:57
I can confirm the zap timer problem (just tested it).I can now see what is happening.
It does zap to the requested channel, but this is followed immediately by an InfoBar screen closing (no - I never see one either) and that sets things (via its __onClose handler) to what it thinks is the last service - but it is now the previous one.

Now I suppose I need to find out what is opening that InfoBar screen in the first place.
Oh, wait - I might have an idea!!! It's the code to take you back to the channel you were watching when you exit a movie....and you have just exited a movie...

birdman
05-02-16, 04:41
Well, here is a patch against RecordTimer.py for 036 which "fixes" the issue by delaying the channel change for 1s (which is probably more than required).
I'm not convinced that this is the best solution, though, as the result is really just a side effect of the delay. It would be better to somehow signal to the InfoBar OnChange code to not change the channel in such cases.


--- RecordTimer.py.orig.033
+++ RecordTimer.py
@@ -300,6 +300,10 @@
self.backoff = 100
self.log(10, "backoff: retry in %d seconds" % self.backoff)

+#GML - Needed for delayed channel changing....
+ def change_channel(self):
+ NavigationInstance.instance.playService(self.servi ce_ref.ref)
+
def activate(self):
next_state = self.state + 1
self.log(5, "activating state %d" % next_state)
@@ -446,7 +450,14 @@
ChannelSelectionInstance.saveRoot()
ChannelSelectionInstance.saveChannel(self.service_ ref.ref)
ChannelSelectionInstance.addToHistory(self.service _ref.ref)
- NavigationInstance.instance.playService(self.servi ce_ref.ref)
+#GML - We need to delay the channel change as if there was a movie running the on-close
+# handler for that will switch back to the originally-watched channel.
+# And that handler hasn't run yet...
+# NavigationInstance.instance.playService(self.servi ce_ref.ref)
+ from enigma import eTimer
+ self.ch_change_timer = eTimer()
+ self.ch_change_timer.callback.append(self.change_c hannel)
+ self.ch_change_timer.start(1000, True) # True == one-shot
return True
else:
self.log(11, "start recording")

birdman
05-02-16, 04:58
I'm not convinced that this is the best solution, though, as the result is really just a side effect of the delay. It would be better to somehow signal to the InfoBar OnChange code to not change the channel in such cases.Here's a simpler patch which does that - almost.
It does go to the correct channel - but if you then press the Ch+/- button it goes relative to the original channel (i.e. where you were before the movie started). I'd expect that to be fixable too(?).

--- RecordTimer.py.orig.033
+++ RecordTimer.py
@@ -447,6 +447,10 @@
ChannelSelectionInstance.saveChannel(self.service_ ref.ref)
ChannelSelectionInstance.addToHistory(self.service _ref.ref)
NavigationInstance.instance.playService(self.servi ce_ref.ref)
+# We also need to tell any movie-player that has been interrupted where
+# we've gone, so it thinks that is where it came from.
+ from Screens.InfoBar import MoviePlayer
+ MoviePlayer.instance.lastservice = self.service_ref.ref
return True
else:
self.log(11, "start recording")This works because there can only be one instance of MoviePlayer.instance, and so all of it's callable method's self variable must be this...

However, Screens/InfoBar.py has a typo related to this. Line 263 states:

assert MoviePlayer.instance is None, "class InfoBar is a singleton class and just one instance of this class is allowed!"but that Infobar should be MoviePlayer.

birdman
06-02-16, 11:49
Fix (for the Zap timer issue)

Hmmm...trying to patch in the info the the MoviePlayer instance fails. I can get it to switch to the expected channel, but can't stop the system then believing it is at the original channel when you press Ch+/1.

So, I've gone back to method 1, and improved it. If there is a MoviePlayer running the Zap timer tells it to shutdown and then defers itself for 1s (so if the MoviePlayer takes > 1s to shutdown it just defers itself again...). It's no longer relying on side-effects. It also works OK if you zap into a different bouquet.

The patch for this is at
http://birdman.dynalias.org/OpenVix/under the "Zap timer when MoviePlayer active" section (the 4th patch for RecordTimer.py that is there).

birdman
06-02-16, 21:11
It makes no difference if I stop the movie (and stay in movie list) before, or entering standby mode while the movie is running. The auto power off timer doesn't work.Well, if you go straight to Standby while a movie is running then the code thinks the movie is still active (which it is, as if you come out of Standby it will start playing again).
That can easily be checked and ignored (if the Standby screen is active then don't care about the MoviePlayer state).

I haven't checked on why it sticks if you stay in the menu (running now...).

birdman
07-02-16, 04:18
I haven't checked on why it sticks if you stay in the menu (running now...).I can't reproduce this. If I leave the menu posted and go to Standby from there (which can't be done via the Menu button) then my box will got to Deep Standby.

One thing I've noticed is that you will only ever go to Deep Standby if you have configured any hard-disk to spin-down after an inactivity period.

Fix (for DeepStandby timers after going directly into Standby while watching a movie playback)

Anyway, I have a patch to enable a PowerTimer to set the box to Deep Standby if you put it into Standby directly from a running movie playback.

It's at:
http://birdman.dynalias.org/OpenVix/under the
"RecordTimer StandBy Tests and PowerTimer StandBy Tests" sections. Both have similar test and I've updated the record Timer one in light of this.

bumper
08-02-16, 22:34
I can't reproduce this. If I leave the menu posted and go to Standby from there (which can't be done via the Menu button) then my box will got to Deep Standby.

One thing I've noticed is that you will only ever go to Deep Standby if you have configured any hard-disk to spin-down after an inactivity period.

Fix (for DeepStandby timers after going directly into Standby while watching a movie playback)

Sorry, but I have to say this works not for me. I replaced the "RecordTimer.py", restarted the box, changed to movie list, played a movie, and send the box into standby with the power button on my remote.

After 20min of standby the box didn't shut down. She stayed in normal standby. After reactivating the box, audio was gone. No sound in movies or watching tv.
I had to restart Enigma to get audio back. (But this was also before apply your patch - must be another bug :eek: ) (BTW: If I reactivate the box before the 20 min are over, no problem with audio!)


Anyway, I have a patch to enable a PowerTimer to set the box to Deep Standby if you put it into Standby directly from a running movie playback.

It's at:
http://birdman.dynalias.org/OpenVix/under the
"RecordTimer StandBy Tests and PowerTimer StandBy Tests" sections. Both have similar test and I've updated the record Timer one in light of this.

With your patch installed: Watching TV and recording something ist OK. Recording while the box is in standby is also OK.
But if I watch a movie from HDD and the box starts a recording because of a timer the same time, enigma crashes.


<?xml version="1.0" encoding="utf-8"?>
<openvix>
<enigma2>
<crashdate>Mon Feb 8 20:59:49 2016</crashdate>
<compiledate>Jan 28 2016</compiledate>
<contactemail>vixlogs@oe-alliance.com</contactemail>
<!-- Please email this crashlog to above address -->
<skin>ViX-Night-HD/skin.xml</skin>
<sourcedate>2016-01-28</sourcedate>
<version>3.0.0</version>
</enigma2>
<image>
<stbmodel>duo2</stbmodel>
<kernelversion>
<![CDATA[
Linux vuduo2 3.13.5 #1 SMP Fri Nov 20 10:29:13 GMT 2015 mips GNU/Linux
]]>
</kernelversion>
<kernelcmdline>libata.force=1:1.5Gbps bmem=192M@64M bmem=384M@512M memc1=788M ubi.mtd=0 root=ubi0:rootfs rootfstype=ubifs rw rootflags=sync</kernelcmdline>
<nimsockets>NIM Socket 0:</nimsockets>
<imageversion>
<![CDATA[
box_type=vuduo2
build_type=
version=3.2
type=release
build=036
date=20160128140857
comment=OpenViX
target=9
creator=OpenViX
url=http://www.world-of-satellite.com
catalog=http://www.world-of-satellite.com
]]>
</imageversion>
<imageissue>
<![CDATA[
Welcome to OpenViX for %h
openvix 3.2 %h

]]>
</imageissue>
</image>
<crashlogs>
<enigma2crashlog>
<![CDATA[
< 13313.915952> [eDVBServicePlay] have 1 video stream(s) (00a7), and 1 audio stream(s) (0088), and the pcr pid is 00a7, and the text pid is 0047
< 13313.920922> [eTSMPEGDecoder] decoder state: play, vpid=00a7, apid=0088
< 13313.924791> [eDVBAudio0] DMX_SET_PES_FILTER pid=0x0088 ok
< 13313.924866> [eDVBAudio0] DEMUX_START ok
< 13313.924996> [eDVBAudio0] AUDIO_SET_BYPASS bypass=1 ok
< 13313.932891> [eDVBAudio0] AUDIO_PAUSE ok
< 13313.936697> [eDVBAudio0] AUDIO_PLAY ok
< 13313.943908> [eDVBVideo] Video Device: /dev/dvb/adapter0/video0
< 13313.943985> [eDVBVideo] demux device: /dev/dvb/adapter0/demux8
< 13313.947725> [eDVBVideo0] VIDEO_SET_STREAMTYPE 0 - ok
< 13313.951968> [eDVBVideo0] DMX_SET_PES_FILTER pid=0x00a7 ok
< 13313.952153> [eDVBVideo0] DEMUX_START ok
< 13313.952367> [eDVBVideo0] VIDEO_FREEZE ok
< 13313.956191> [eDVBVideo0] VIDEO_PLAY ok
< 13313.965668> [eDVBText0] DMX_SET_PES_FILTER pid=0x0047 ok
< 13313.965732> [eDVBText0] DEMUX_START ok
< 13313.969461> [eDVBVideo0] VIDEO_SLOWMOTION 0 ok
< 13313.973130> [eDVBVideo0] VIDEO_FAST_FORWARD 0 ok
< 13313.977418> [eDVBVideo0] VIDEO_CONTINUE ok
< 13313.982466> [eDVBAudio0] AUDIO_CONTINUE ok
< 13313.991233> [eDVBTeletextParser] Starting!
< 13313.991298> [eDVBTeletextParser] disable teletext subtitles page ffffffffffffffff (und)
< 13313.991346> [eDVBPESReader] Created. Opening demux
< 13313.991381> [eDVBDemux] open demux /dev/dvb/adapter0/demux8
< 13313.991510> [eDVBTeletextParser] created teletext subtitle PES reader!
< 13313.991739> [eDVBPESReader] Created. Opening demux
< 13313.991835> [eDVBDemux] open demux /dev/dvb/adapter0/demux8
< 13313.992176> [eDVBTeletextParser] starting PES reader on pid=0047
< 13313.992365> [eDVBPESReader] DMX_SET_PES_FILTER pid=0047
< 13313.995541> [eDVBServicePlay] seekTo 0
< 13313.995619> [eDVBChannel] seek.
< 13313.995732> [eFilePushThread] waiting for pause
< 13314.004068> [eFilePushThread] PAUSED
< 13314.030610> [eDVBAudio0] AUDIO_CLEAR_BUFFER ok
< 13314.054612> [eDVBVideo0] VIDEO_CLEAR_BUFFER ok
< 13314.064453> [eDVBChannel] ok, resolved skip (rel: 0, diff 0), now at 00000000
< 13314.117328> [eDVBDemux] open demux /dev/dvb/adapter0/demux8
< 13314.117474> [eDVBSectionReader] DMX_SET_FILTER pid=0
< 13314.118921> [eDVBDemux] open demux /dev/dvb/adapter0/demux8
< 13314.119140> [eDVBSectionReader] DMX_SET_FILTER pid=18
[Notifications] RemovePopup, id = ZapError
< 13314.205338> [eDVBServicePlay] unpause
[Notifications] RemovePopup, id = ZapError
[Skin] processing screen MoviePlayer:
warning, skin is missing element state in <class 'Screens.InfoBar.MoviePlayer'>
warning, skin is missing element eventname in <class 'Screens.InfoBar.MoviePlayer'>
[Skin] processing screen InfoBarMoviePlayerSummary:
[Skin] processing screen MessageBoxSimple:
[Skin] processing screen MessageBoxSimple_summary:
< 13314.597697> [eInputDeviceInit] 0 160 1
[InfoBarGenerics] KEY: 352 OK
< 13314.599605> [eDVBChannel] pvrEvent evtStopped
< 13314.599691> [eDVBPESReader] ERROR reading PES (fd=105): Value too large for defined data type
< 13314.599742> [eMainloop::processOneEvent] unhandled POLLERR/HUP/NVAL for fd 105(8)
< 13314.600623> [eDVBServicePMTHandler] PATready
< 13314.600727> [eDVBServicePMTHandler] use pmtpid 002f for service_id 2f1c
< 13314.600815> [eDVBDemux] open demux /dev/dvb/adapter0/demux8
< 13314.600935> [eDVBSectionReader] DMX_SET_FILTER pid=47
< 13314.601616> [eDVBDemux] open demux /dev/dvb/adapter0/demux8
< 13314.601759> [eDVBSectionReader] DMX_SET_FILTER pid=0
< 13314.793856> [eDVBServicePlay] timeshift
< 13314.798165> [eDVBServicePlay] eventNewProgramInfo timeshift_enabled=0 timeshift_active=0
< 13314.799431> [eDVBDemux] open demux /dev/dvb/adapter0/demux8
< 13314.799548> [eDVBSectionReader] DMX_SET_FILTER pid=72
< 13314.801702> [eDVBServicePlay] have 1 video stream(s) (00a7), and 1 audio stream(s) (0088), and the pcr pid is 00a7, and the text pid is 0047
< 13314.802264> [eTSMPEGDecoder] decoder state: play, vpid=00a7, apid=0088
< 13314.820506> [eDVBDemux] open demux /dev/dvb/adapter0/demux8
< 13314.820639> [eDVBSectionReader] DMX_SET_FILTER pid=72
< 13314.907832> [eDVBDemux] open demux /dev/dvb/adapter0/demux8
< 13314.907972> [eDVBSectionReader] DMX_SET_FILTER pid=47
[Dish] tuning failed
< 13315.773292> [eDVBServicePlay] timeshift
< 13315.880205> [eInputDeviceInit] 1 160 1
[InfoBarGenerics] KEY: 352 OK
[ActionMap] MsgBoxActions ok
< 13315.918443> [eDVBServicePlay] seekTo 249469246
< 13315.918538> [eDVBChannel] seek.
< 13315.918578> [eFilePushThread] waiting for pause
< 13315.922071> [eFilePushThread] PAUSED
< 13315.948602> [eDVBAudio0] AUDIO_CLEAR_BUFFER ok
< 13315.972616> [eDVBVideo0] VIDEO_CLEAR_BUFFER ok
< 13315.983913> [eDVBChannel] ok, resolved skip (rel: 0, diff 249469246), now at 65d7fc24
< 13316.012264> [eDVBChannel] pvrEvent evtStopped
< 13316.110491> [eInputDeviceInit] 0 160 1
[InfoBarGenerics] KEY: 352 OK
< 13316.868955> [eDVBFrontend] close frontend 0
< 13326.821555> [eDVBServicePMTHandler] AITready
< 13330.191735> [eDVBServicePlay] timeshift
[AutoTimer] Auto Poll
[AutoTimer] Auto Poll Started
< 13366.639810> [eEPGCache] event 6c7f not found in epgcache
< 13366.647902> [eEPGCache] lookup events with 'Bares für Rares' in title (ignore case)
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
[AutoTimer] Skipping timer because it has not changed.
< 13367.324172> [eEPGCache] lookup events with 'Die Simpsons' as title (case sensitive)
[AutoTimer] AutoTimer Die Simpsons modified this automatically generated timer.
< 13367.924864> [eEPGCache] lookup events with 'Hot oder Schrott - Die Allestester' as title (case sensitive)
[AutoTimer] Skipping timer because it has not changed.
< 13368.505179> [eEPGCache] lookup events with 'The Big Bang Theory' as title (case sensitive)
[AutoTimer] Skipping timer because it has not changed.
[Task] job Components.Task.Job name=AutoTimer #tasks=5 completed with [] in None
< 13390.211537> [eDVBServicePlay] timeshift
< 13445.785690> [eInputDeviceInit] 1 4 1
[InfoBarGenerics] KEY: 4 3
< 13445.787995> [eDVBServicePlay] seekRelative 1, 1350000
< 13445.788164> [eDVBChannel] seek.
< 13445.788204> [eFilePushThread] waiting for pause
< 13445.794067> [eFilePushThread] PAUSED
< 13445.820613> [eDVBAudio0] AUDIO_CLEAR_BUFFER ok
< 13445.844673> [eDVBVideo0] VIDEO_CLEAR_BUFFER ok
< 13445.856045> [eDVBChannel] ok, resolved skip (rel: 1, diff 262438768), now at 6b1eb158
< 13445.873867> [eDVBChannel] pvrEvent evtStopped
< 13446.016683> [eInputDeviceInit] 0 4 1
[InfoBarGenerics] KEY: 4 3
< 13450.232748> [eDVBServicePlay] timeshift
< 13452.235659> [eInputDeviceInit] 1 4 1
[InfoBarGenerics] KEY: 4 3
< 13452.237993> [eDVBServicePlay] seekRelative 1, 1350000
< 13452.238142> [eDVBChannel] seek.
< 13452.238183> [eFilePushThread] waiting for pause
< 13452.247085> [eFilePushThread] PAUSED
< 13452.273646> [eDVBAudio0] AUDIO_CLEAR_BUFFER ok
< 13452.297663> [eDVBVideo0] VIDEO_CLEAR_BUFFER ok
< 13452.309057> [eDVBChannel] ok, resolved skip (rel: 1, diff 264274814), now at 6beb4608
< 13452.322523> [eDVBChannel] pvrEvent evtStopped
< 13452.466452> [eInputDeviceInit] 0 4 1
[InfoBarGenerics] KEY: 4 3
< 13466.522293> [eInputDeviceInit] 1 4 1
[InfoBarGenerics] KEY: 4 3
< 13466.524576> [eDVBServicePlay] seekRelative 1, 1350000
< 13466.524664> [eDVBChannel] seek.
< 13466.524705> [eFilePushThread] waiting for pause
< 13466.532074> [eFilePushThread] PAUSED
< 13466.558641> [eDVBAudio0] AUDIO_CLEAR_BUFFER ok
< 13466.582675> [eDVBVideo0] VIDEO_CLEAR_BUFFER ok
< 13466.594204> [eDVBChannel] ok, resolved skip (rel: 1, diff 266819966), now at 6d07c5ac
< 13466.616129> [eDVBChannel] pvrEvent evtStopped
< 13466.752268> [eInputDeviceInit] 0 4 1
[InfoBarGenerics] KEY: 4 3
< 13510.252511> [eDVBServicePlay] timeshift
[SoftcamManager] scam already running
[Task] job Components.Task.Job name=Softcam-Überprüfung #tasks=1 completed with [] in None
< 13570.274088> [eDVBServicePlay] timeshift
< 13630.292821> [eDVBServicePlay] timeshift
< 13643.497673> [eDVBServiceRecord] pcr of eit change: ec352ddd
< 13643.498147> [eDVBDemux] open demux /dev/dvb/adapter0/demux0
< 13643.498267> [eDVBSectionReader] DMX_SET_FILTER pid=18
< 13672.975120> [eDVBServiceRecord] pcr of eit change: ec5d477d
< 13672.975204> [eDVBServiceRecord] now running: The Big Bang Theory (1641 seconds)
< 13672.975512> [eDVBDemux] open demux /dev/dvb/adapter0/demux0
< 13672.975612> [eDVBSectionReader] DMX_SET_FILTER pid=18
< 13681.795286> [eInputDeviceInit] 1 18f 1
[InfoBarGenerics] KEY: 399 GREEN
< 13682.131246> [eInputDeviceInit] 0 18f 1
[InfoBarGenerics] KEY: 399 GREEN
[ActionMap] InfobarExtensions openTimerList
[Skin] processing screen TimerEditList:
[Skin] processing screen TimerEditListSummary:
< 13688.307852> [eInputDeviceInit] 1 ae 1
[InfoBarGenerics] KEY: 174 EXIT
[ActionMap] OkCancelActions cancel
< 13688.585601> [eInputDeviceInit] 0 ae 1
[InfoBarGenerics] KEY: 174 EXIT
< 13690.316624> [eDVBServicePlay] timeshift
< 13750.336334> [eDVBServicePlay] timeshift
< 13810.356248> [eDVBServicePlay] timeshift
< 13870.376137> [eDVBServicePlay] timeshift
[SoftcamManager] scam already running
[Task] job Components.Task.Job name=Softcam-Überprüfung #tasks=1 completed with [] in None
< 13923.954794> [eInputDeviceInit] 1 a 1
[InfoBarGenerics] KEY: 10 9
< 13923.957085> [eDVBServicePlay] seekRelative 1, 42300000
< 13923.957179> [eDVBChannel] seek.
< 13923.957220> [eFilePushThread] waiting for pause
< 13923.965076> [eFilePushThread] PAUSED
< 13923.991660> [eDVBAudio0] AUDIO_CLEAR_BUFFER ok
< 13924.015649> [eDVBVideo0] VIDEO_CLEAR_BUFFER ok
< 13924.027630> [eDVBChannel] ok, resolved skip (rel: 1, diff 350203214), now at 8e2d6170
< 13924.047109> [eDVBChannel] pvrEvent evtStopped
< 13924.185218> [eInputDeviceInit] 0 a 1
[InfoBarGenerics] KEY: 10 9
< 13926.579272> [eInputDeviceInit] 1 5 1
[InfoBarGenerics] KEY: 5 4
< 13926.581706> [eDVBServicePlay] seekRelative -1, 6750000
< 13926.581794> [eDVBChannel] seek.
< 13926.581832> [eFilePushThread] waiting for pause
< 13926.590085> [eFilePushThread] PAUSED
< 13926.616667> [eDVBAudio0] AUDIO_CLEAR_BUFFER ok
< 13926.641678> [eDVBVideo0] VIDEO_CLEAR_BUFFER ok
< 13926.653418> [eDVBChannel] ok, resolved skip (rel: 1, diff 343597302), now at 8b666ce0
< 13926.654717> [eDVBChannel] pvrEvent evtStopped
< 13926.809343> [eInputDeviceInit] 0 5 1
[InfoBarGenerics] KEY: 5 4
< 13930.397154> [eDVBServicePlay] timeshift
< 13990.419172> [eDVBServicePlay] timeshift
< 14050.439846> [eDVBServicePlay] timeshift
< 14093.180435> [eDVBDemux] open demux /dev/dvb/adapter0/demux0
< 14093.180581> [eDVBSectionReader] DMX_SET_FILTER pid=20
< 14095.366335> [eDVBLocalTimerHandler] diff is 3
< 14095.366468> [eDVBLocalTimerHandler] diff < 120 .. use Transponder Time
< 14095.486176> [eDVBLocalTimerHandler] difference between linux time and RTC time is < 60 sec... so the transponder time looks ok
< 14095.486267> [eDVBLocalTimerHandler] time update to 20:48:51
< 14095.486296> [eDVBLocalTimerHandler] m_time_difference is 3
< 14095.486319> [eDVBLocalTimerHandler] set Linux Time
< 14095.486914> [eDVBChannel] getDemux cap=00
< 14105.458772> [eDVBServicePlay] timeshift
< 14165.479447> [eDVBServicePlay] timeshift
< 14225.498599> [eDVBServicePlay] timeshift
< 14276.365757> [eInputDeviceInit] 1 160 1
[InfoBarGenerics] KEY: 352 OK
[ActionMap] InfobarSeekActions unPauseService
[ActionMap] InfobarShowHideActions toggleShow
< 14276.596497> [eInputDeviceInit] 0 160 1
[InfoBarGenerics] KEY: 352 OK
[SoftcamManager] scam already running
[Task] job Components.Task.Job name=Softcam-Überprüfung #tasks=1 completed with [] in None
< 14281.518323> [eInputDeviceInit] 1 18f 1
[InfoBarGenerics] KEY: 399 GREEN
< 14281.749236> [eInputDeviceInit] 0 18f 1
[InfoBarGenerics] KEY: 399 GREEN
[ActionMap] InfobarExtensions openTimerList
[Skin] processing screen TimerEditList:
[Skin] processing screen TimerEditListSummary:
< 14285.518258> [eDVBServicePlay] timeshift
< 14287.817322> [eInputDeviceInit] 1 ae 1
[InfoBarGenerics] KEY: 174 EXIT
[ActionMap] OkCancelActions cancel
< 14288.092516> [eInputDeviceInit] 0 ae 1
[InfoBarGenerics] KEY: 174 EXIT
< 14291.222904> [eInputDeviceInit] 1 67 1
[InfoBarGenerics] KEY: 103 UP
[ActionMap] InfobarMovieListActions up
[Skin] processing screen MovieSelection:
[Skin] processing screen MovieSelectionSummary:
< 14291.564385> [eInputDeviceInit] 0 67 1
[InfoBarGenerics] KEY: 103 UP
[TRASHCAN DeBug path] /media/hdd/movie/
[TRASHCAN DeBug] /media/hdd/movie/.Trash
< 14295.331848> [eInputDeviceInit] 1 ae 1
[InfoBarGenerics] KEY: 174 EXIT
[ActionMap] OkCancelActions cancel
< 14295.334116> [eDVBServicePlay] timeshift
< 14295.612568> [eInputDeviceInit] 0 ae 1
[InfoBarGenerics] KEY: 174 EXIT
< 14345.538181> [eDVBServicePlay] timeshift
< 14405.559122> [eDVBServicePlay] timeshift
< 14465.584313> [eDVBServicePlay] timeshift
< 14525.605313> [eDVBServicePlay] timeshift
< 14585.625291> [eDVBServicePlay] timeshift
[SoftcamManager] scam already running
[Task] job Components.Task.Job name=Softcam-Überprüfung #tasks=1 completed with [] in None
< 14645.645352> [eDVBServicePlay] timeshift
< 14705.667361> [eDVBServicePlay] timeshift
[RecordTimer] activating state 3
[RecordTimer] stop recording
< 14752.820460> [eDVBServiceRecord] stop recording!
< 14752.825839> [eFilePushThreadRecorder] stopping thread.
< 14752.826348> [eDVBRecordFileThread] waiting for aio to complete
< 14752.826446> [eDVBRecordFileThread] buffer usage histogram (40 buffers of 188 kB)
< 14752.826499> [eDVBRecordFileThread] 0: 58
< 14752.826543> [eDVBRecordFileThread] 1: 4446
< 14752.826578> [eDVBRecordFileThread] 2: 425
< 14753.281728> [eFilePushThreadRecorder] THREAD STOP
< 14753.284171> [eDVBTSTools] setSource loading streaminfo for /media/hdd/movie/20160208 2004 - ProSieben - The Big Bang Theory_001.ts
< 14753.292693> [eDVBServiceRecord] fixed up ec352ddd to 26a136e (offset 0)
< 14753.293049> [eDVBServiceRecord] fixed up ec5d477d to 2922d0e (offset 0)
[Trashcan] probing folders
< 14753.308073> [eDVBCAService] free slot 0 demux 0 for service 1:0:1:445D:453:1:C00000:0:0:0:
< 14753.308310> [eDVBCAService] free service 1:0:1:445D:453:1:C00000:0:0:0:
< 14753.309368> [eDVBLocalTimerHandler] remove channel 0x139dd98
< 14753.309605> [eEPGCache] remove channel 0x139dd98
[Trashcan] found following trashcan's: ['/media/hdd/.Trash', '/media/hdd/movie/.Trash']
[Trashcan] looking in trashcan /media/hdd/.Trash
[Trashcan] /media/hdd/.Trash: Size: 0
[Trashcan] /media/hdd/.Trash: Size now: 0
[Trashcan] looking in trashcan /media/hdd/movie/.Trash
[Trashcan] /media/hdd/movie/.Trash: Size: 22279064380
[Trashcan] /media/hdd/movie/.Trash: Size now: 22279064380
Traceback (most recent call last):
File "/usr/lib/enigma2/python/timer.py", line 239, in calcNextActivation
File "/usr/lib/enigma2/python/timer.py", line 309, in processActivation
File "/usr/lib/enigma2/python/RecordTimer.py", line 872, in doActivate
File "/usr/lib/enigma2/python/RecordTimer.py", line 551, in activate
TypeError: 'eServiceReference' object is not callable
< 14753.390323> [ePyObject] (CallObject(<bound method RecordTimer.calcNextActivation of <RecordTimer.RecordTimer instance at 0x5fc62c88>>,()) failed)
]]>
</enigma2crashlog>
</crashlogs>
</openvix>


Have I done something wrong?

birdman
09-02-16, 03:30
With your patch installed: Watching TV and recording something ist OK. Recording while the box is in standby is also OK.
But if I watch a movie from HDD and the box starts a recording because of a timer the same time, enigma crashes.

Have I done something wrong?No: I did.
I had the same crash and fixed it (I'd added a set of () where they weren't supposed to be). I fixed it very soon after putting up the wrong version, so you were unlucky in downloading the file in the "wrong" time period.

Mind you - I've just checked again and found that I'd forgotten to update the patch accordingly (now done).

birdman
09-02-16, 03:36
Sorry, but I have to say this works not for me. I replaced the "RecordTimer.py", restarted the box, changed to movie list, played a movie, and send the box into standby with the power button on my remote.

After 20min of standby the box didn't shut down. She stayed in normal standby.
I did change some one of the tests from using the MoviePlayer.instance to the Navigation.instance, as they seemed to be providing the same information. I'll re-test.
However, that is a PowerTimer, not a RecordTimer, so you'd have need to use the fixes in PowerTimer.py for anything to change in that scenario.


After reactivating the box, audio was gone. No sound in movies or watching tv.
I had to restart Enigma to get audio back. (But this was also before apply your patch - must be another bug :eek: ) (BTW: If I reactivate the box before the 20 min are over, no problem with audio!)I'll have a look at that as well....

birdman
09-02-16, 18:03
I did change some one of the tests from using the MoviePlayer.instance to the Navigation.instance, as they seemed to be providing the same information. I'll re-test.It all looked OK, but I've tidied it up.
The MoviePlayer.instance will only exist if the MoviePlayer is active, but if you are also looking for an IPTV service running (4097: in the NavigationInstance Serviceref) then you might as well check the same thing for a recoding being played (0:... in it).
patches updated (and more comments added).

birdman
09-02-16, 18:39
After reactivating the box, audio was gone. No sound in movies or watching tv.
I had to restart Enigma to get audio back. (But this was also before apply your patch - must be another bug :eek: ) (BTW: If I reactivate the box before the 20 min are over, no problem with audio!)

I'll have a look at that as well....Well - to set this up with my patch applied I need to have a recorder running, otherwise the next time the PowerTimer runs it will put the bix into Deep Standby.
So I set the autoDeepsleep to the minimum (10mins), started a recording and put the box into Standby directly from the running MoviePlayer. Then waited for >20 mins and took the box out of Standby. the MoviePlayer started to play with no problem.

bumper
23-02-16, 23:55
Hi birdman,

I'm sorry for the delay, but here are the results of the German vote, 12 points go to… birdman :thumbsup: :smiley_yup:

You did it. Both bugs are gone!

Your patches should be included in one of the next release.

Thank you VERY much for your effort.

b.

birdman
24-02-16, 02:49
You did it. Both bugs are gone!

Your patches should be included in one of the next release.Well, they're not there yet, but neither file changed for 037, so the *.py files you have will still work.


Thank you VERY much for your effort.I quite enjoy doing it. It's very enjoyable to get to the point where you understand the original problem (which can take some time when you make several wrong turns...) and then supply a fix for it