[mythtv-users] Both In progress HD recordings and Live Tv dropping frames on frontend.

John reidjr at lineone.net
Thu May 15 22:30:05 UTC 2014


On 15/05/14 20:37, Michael T. Dean wrote:
> On 05/15/2014 03:10 PM, John wrote:
>> Further followup. I repeated the test Angela tried in
>>
>> https://code.mythtv.org/trac/ticket/12016
>>
>>
>> Created a donor recording, which was then stopped. Then removed the 
>> donor mpg file, and created a hard link to an in progress recording - 
>> I then had two entries in the recording screen one for the in 
>> progress recording (real) and one for the donor file, which is linked 
>> to the same (still recording) Fake file. The hard link recording uses 
>> the database entries and state of the donor recording that has been 
>> deleted.
>>
>> Playing back the hard link, no drops.
>> Playing back the real in progress recording, drops.
>
> When playing back the not-in-progress "view" of the recording, your 
> system isn't going to pull seek table updates and such from the 
> database, so this could be an issue stemming database congestion, 
> possibly due to database configuration (such as storing database data 
> files on a file system with barriers enabled on a system/storage 
> medium that's not fast enough for such a configuration).
>
> Mike
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://www.mythtv.org/mailman/listinfo/mythtv-users
> http://wiki.mythtv.org/Mailing_List_etiquette
> MythTV Forums: https://forum.mythtv.org
>
Michael,

Thanks, that is exactly what I think is the problem, but I am loath to 
think it is a backend problem as such. Earlier in the thread I said I have :

/dev/sdf1 on / type ext4 (rw,noatime,barrier=0,errors=remount-ro) , and 
the db drive is an SSD.

Digging through https://code.mythtv.org/trac/ticket/12016, and tracing 
what I can through the source code:

On the remote frontend logs for inprogress recordings I am seeing

QUERY_RECORDER 16[]:[]GET_FRAMES_WRITTEN
issued every frame, which seems excessive, and almost certain to cause 
database hickups if the backend is writing to the same table at the same 
frequency. So I can see why no barriers might be a good plan.


My frontend running on the backend machine  does not issue these 
requests at all according to the logs, when watching the same in 
progress recording.

QUERY_RECORDER 16[]:[]GET_FRAMES_WRITTEN is only issued when the seek 
table is actually used, or the OSD is updated to show position. ( which 
makes sense)

I would say the problem is that the remote frontend is continually 
querying the recorder/database for no obviously good reason.

I mentioned in an earlier par of the thread that the dropps stopped when 
I changed or disabled the vdpau deinterlacers.

I think the db queries cause  jitter, which is badly dealt with by the 
ion 2x deinterlacers, and thats why I'm getting dropped frames.
Turning off the deinterlacer  or down to a 1x deinterlacer doesn't 
change the jitter, as the queries are still there, but it does stop 
dropping frames.

Do you agree with this analysis, and more importantly how do I stop the 
remote frontend calling  GET_FRAMES_WRITTEN every frame !

best regards,

John



More information about the mythtv-users mailing list