[mythtv-commits] Ticket #12903: Changing channels while watching live tv results in error - Cannot find A/V Decoder (or a black screen)
MythTV
noreply at mythtv.org
Sun Nov 27 05:12:27 UTC 2016
#12903: Changing channels while watching live tv results in error - Cannot find A/V
Decoder (or a black screen)
-------------------------------------------------+-------------------------
Reporter: William L. DeRieux IV | Owner:
<WilliamDeRieux@…> | jyavenard
Type: Bug Report - General | Status: new
Priority: major | Milestone: 0.28.1
Component: MythTV - Recording | Version: 0.28.0
Severity: medium | Resolution:
Keywords: | Ticket locked: 0
-------------------------------------------------+-------------------------
Comment (by WilliamDeRieux@…):
Replying to [comment:4 WilliamDeRieux@…]:
> Replying to [comment:3 jyavenard]:
> > Please provide a back trace. See wiki on how to produce a back trace.
> >
> > The patch above is no fix.
>
> That's the problem...when using gdb to launch mythfrontend the issue
does not generate backtrace.
[[BR]]
The main problem in mythtv/mythtv/libs/libmythtv/tv_rec.cpp ::
TuningSignalCheck
Is that the code assumes that all inputs are tunable. [[BR]]
Composite, S-Video, and similiar inputs cannot be tuned and when they are
used the TuningSignalCheck is causing recordings to fail -- because it
returns .
if (signalMonitor->IsAllGood())
either sets RecStatus::Failing / RecStatus::Recording
but is never reached -- because the tuning timeout cannot be set on
Analog capture cards
the option is not exposed through the appropriate UI and thus the
.signalMonitor is always in an error state.
else if (signalMonitor->IsErrored() || MythDate::current() >
signalMonitorDeadline)
returns RecStatus::Failed, and again when non tuned inputs are used this
is always true.
else if (curRecording && !reachedRecordingDeadline && MythDate::current()
> startRecordingDeadline)
returns RecStatus::Failing; but is never reached
else
returns NULL; but is never reached
------
The point is that this functions always sets RecStatus::Failed for
composite / svideo and as a result
causes all recordings to fail.
What we need here is a way to detect the input type and whether or not is
can be tuned.
If the input can be tuned (DVB, CATV tuner, etc) -- then TuningSignalCheck
can be used as is.
But for composite/svideo there isn't any point in calling
TuningSignalCheck and it should just
set newRecStatus = RecStatus::Recording;
--
Ticket URL: <https://code.mythtv.org/trac/ticket/12903#comment:8>
MythTV <http://www.mythtv.org>
MythTV Media Center
More information about the mythtv-commits
mailing list