[mythtv-commits] Ticket #1013: livetv does not work (svn 8575) [DVB]
MythTV
mythtv at cvs.mythtv.org
Sat Jan 14 06:39:30 UTC 2006
#1013: livetv does not work (svn 8575) [DVB]
-----------------------+----------------------------------------------------
Reporter: anonymous | Owner: cpinkham
Type: defect | Status: reopened
Priority: blocker | Milestone: 0.19
Component: dvb | Version: head
Severity: medium | Resolution:
-----------------------+----------------------------------------------------
Changes (by cpinkham):
* priority: minor => blocker
Comment:
Mark, can you update to SVN head and verify things work correctly again,
then apply the attached avcodeclock.diff patch and see if it still works
correctly after applying the patch. We need to lock around avcodec_open
and avcodec_close, otherwise we get failures when multiple threads are
trying to call one of those such as when we have multiple recordings
ending at the same time and multiple preview generators firing off. This
was the reason for the initial added locks. With this patch, we convert
the lock to a recursive lock, so we can lock it once inside
HandleStreamChange which calls ScanStreams, then inside ScanStreams, we
can lock it again around avcodec_open. This way when we call ScanStreams
outside of HandleStreamChange, we still correctly lock around
avcodec_open.
If this doesn't fix the issue, I'll have to defer to someone with DVB.
I'm unable to replicate the issue on my system with either patch revision.
We need to get locks around this call to avcodec_open somehow since it is
a documented issue that it is not thread-safe. It is thread-aware in that
it prints a nasty error message if called twice at the same time, so it
doesn't segfault or anything, but it can and does break functionality in
certain parts of Myth. Otherwise we'll have lots of users with multiple
tuners getting the error I noted in [8573].
--
Ticket URL: <http://svn.mythtv.org/trac/ticket/1013>
MythTV <http://www.mythtv.org/>
MythTV
More information about the mythtv-commits
mailing list