[mythtv] Remove Fill Packets
peper03 at yahoo.com
Sun Apr 26 09:24:30 UTC 2015
On 24/04/15 20:17, Ryan Lavender wrote:
> Hi Ryan,
> Ok, I've had a closer look at the code (not that I understand how all of
> it fits together) and it seems that this feature is not (currently)
> available for Firewire cards.
> stuarta has just pushed a change to Master to strip fill packets for
> Firewire recorders. _https://github.com/MythTV/mythtv/commit/b0138ce_
> should apply to 0.27 too so give it a go.
> Weird, but it doesn’t work for me. I get 0-byte recordings. What I did
> to make it work was add this to firewiredevice.cpp:
> Put all of the content of the function BroadcastToListeners inside an IF
> statement: if(!(data == 0x1F && data == 0xFF))
> However, mythtv sometimes has trouble tuning certain channels, and I
> feel it may be related.
I really don't know the code that well but I would guess that
BroadcastToListeners is called whenever there is new data. That new
data may not be the start of a packet, so your code will filter out
chunks of data that happen to 0x1FFF in the 'wrong' place.
I don't understand how the change stuarta made would cause 0-byte
recordings unless *every* packet were padding (and then there would be
nothing to watch anyway).
Can you check that with no changes, everything works fine, but with the
following, you get 0-byte recordings?
bool FirewireRecorder::ProcessTSPacket(const TSPacket &tspacket)
const uint pid = tspacket.PID();
if (pid == 0x1fff) // Stuffing
More information about the mythtv-dev