2012-09-29, 05:19
Janbar,
I appreciate you trying to help. I didn't expect you to get back so soon. I have compiled and tested the changes and while it does indeed compile and I do see the new setting, I still don't have working channel changes and I used 5000, 10000, and 15000 in the new setting. Below is my logs for both xbmc and mythbackend. I started the channel change at 22.42.07 and 3s later it is already done. Channel changing still hasn't completed on mythbackend by the time it fails as I have a 5s sleep on the backend channel change script. Still working in mythfrontend however.
mythbackend.log
http://pastebin.com/vxAy5c9n
xbmc.log
http://pastebin.com/JAscQrYC
changeChannel.sh
I been looking through logs and the new source and I noticed that your delay code should be logging the delay
but I get no entries even when I cut on additional debug info in your addon settings. It looks like the new code isn't run before it tries to read the 0 size stream. Maybe spawn and switch was the way to go? I just assumed that the initial opening of a stream also was considered a channel switch since it fired the channel change script on the backend but I guess I was wrong. What do you think janbar? You would know better than me. I'll just test whatever you come up with.
Edit:
Sorry for the long post but I decided to play around in the code and try a sloppy fix as a proof of concept. I copied you delay code block from the ChannelSwitch function into the OpenLiveStream function right before the "return true" if the recorder is null and I can now tune. It may or may not be the best place but at least we know that this was indeed the issue. I'll leave the rest to the real cpp developers. I need some sleep. Thanks!
I appreciate you trying to help. I didn't expect you to get back so soon. I have compiled and tested the changes and while it does indeed compile and I do see the new setting, I still don't have working channel changes and I used 5000, 10000, and 15000 in the new setting. Below is my logs for both xbmc and mythbackend. I started the channel change at 22.42.07 and 3s later it is already done. Channel changing still hasn't completed on mythbackend by the time it fails as I have a 5s sleep on the backend channel change script. Still working in mythfrontend however.
mythbackend.log
http://pastebin.com/vxAy5c9n
xbmc.log
http://pastebin.com/JAscQrYC
changeChannel.sh
Code:
#!/bin/bash
# Wake up if asleep from daily update
irsend --device=/dev/lircd SEND_ONCE blaster 1_142_KEY_MNSELECT
# Split channel into digits and send key presses
for DIGIT in $(echo ${1} | sed -e 's/./& /g'); do
irsend --device=/dev/lircd SEND_ONCE blaster 1_142_KEY_${DIGIT}
done
# Confirm channel to avoid waiting
irsend --device=/dev/lircd SEND_ONCE blaster 1_142_KEY_MNSELECT
# Wait for lock
sleep 5
I been looking through logs and the new source and I noticed that your delay code should be logging the delay
Code:
XBMC->Log(LOG_DEBUG,"%s: Delay channel switch: %d/%d",__FUNCTION__,i,g_iPlayBackDelay);
Edit:
Sorry for the long post but I decided to play around in the code and try a sloppy fix as a proof of concept. I copied you delay code block from the ChannelSwitch function into the OpenLiveStream function right before the "return true" if the recorder is null and I can now tune. It may or may not be the best place but at least we know that this was indeed the issue. I'll leave the rest to the real cpp developers. I need some sleep. Thanks!