Opened 3 years ago

Last modified 3 years ago

#12474 accepted Bug Report - General

external recorder livetv channel change fails

Reported by: primijos@… Owned by: jpoet
Priority: minor Milestone: unknown
Component: MythTV - Recording Version: Master Head
Severity: medium Keywords: external recorder closed unexpected
Cc: Ticket locked: no

Description

Hello,

I have implemented an External Recorder to use it as a proxy for some IPTV channels that I cannot watch via the standard IPTV tuner due to some bugs with udp/rtp and mythtv (already reported).

The question is that, when used for scheduled recordings OR the first time I switch to LiveTV, this external recorder always works (I mean: I get nice recordings without problem or I can watch LiveTV with the last tuned channel)

The problem arises when, once watching livetv, I try to switch to another channel. In this case the tuning works (I mean: mythfrontend says it has a lock) but instead of starting to see the mpeg stream on the screen I am kicked out to the main menu of mythtv (I mean: back from LiveTV as when ESC is pressed). LiveTV stops and I can only see some error messages in the logs regarding some unexpected exit.

I've added some debug traces and some catch-any-exit-way code to my external recorder program and -as far as I can see- it only exits when explicitly asked to do so (by CloseRecorder?), so looks like its behaviour is normal as per protocol.

Could it be that, at some point, the protocol specified in the wiki is not 100% followed by the external recording/streamer stuff? From my point of view it looks like mythtv is trying to reuse an external recorder that it has already shut down (closed)

Of course I might be wrong and I have some nasty-hidden bug in my external recorder code, but my traces, debug and tests results all they look normal and I'm a bit lost right now about why channel zap in livetv is still failing...

Right now I'm using: "mythbackend version: master [v0.28-pre-2682-gf51a20b] www.mythtv.org"

any hints?

best in advance, Jose

Attachments (1)

mythlog.txt (5.3 KB) - added by primijos@… 3 years ago.
log section with some external recorder errors

Download all attachments as: .zip

Change History (5)

Changed 3 years ago by primijos@…

Attachment: mythlog.txt added

log section with some external recorder errors

comment:1 Changed 3 years ago by paulh

I would start by updating to current master since that version is quite old and there have been some fixes and updates committed recently that affect the IPTV support.

comment:2 Changed 3 years ago by primijos@…

I understand. I can try to update, but note that _this_ issue is not related to IPTV but to External Recorder. As long as the external recorder uses pipes and fork/exec to obtain data, it doesn't care wherther the original video source is IPTV, DVB or just a plain file, that only matters to the external script being called.

The changes in the IPTV source would probably affect the other issues opended (those that made me move from IPTV to an external recorder based scenario). But for me, being able to switch channels in live tv for external recording would mean, probably, ignoring completely moving again to a IPTV tuner all these channels.

comment:3 Changed 3 years ago by jpoet

Owner: changed from JYA to jpoet
Status: newaccepted

comment:4 in reply to:  2 Changed 3 years ago by paulh

Replying to primijos@…:

I understand. I can try to update, but note that _this_ issue is not related to IPTV but to External Recorder. As long as the external recorder uses pipes and fork/exec to obtain data, it doesn't care wherther the original video source is IPTV, DVB or just a plain file, that only matters to the external script being called.

The changes in the IPTV source would probably affect the other issues opended (those that made me move from IPTV to an external recorder based scenario). But for me, being able to switch channels in live tv for external recording would mean, probably, ignoring completely moving again to a IPTV tuner all these channels.

Might be worth a try adding the EXTERNAL recorder to the list of recorders where the channel is not reusable in CardUtil::IsChannelReusable?()

Note: See TracTickets for help on using tickets.