id,summary,reporter,owner,description,type,status,priority,milestone,component,version,severity,resolution,keywords,cc,mlocked 9929,MPEGStreamData doesn't handle video packets without a payload,Ron Frazier ,,"I found a bug in the MPEGStreamData class that causes problems with the mpeg data I get from my cable provider. It appears to be a simple programming error (starting a loop counter from 1 instead of 0). The data I get from my provider comes in the following format: [[BR]] PID 0 - PAT [[BR]] PID X - PMT [[BR]] PID X+1 - video data [[BR]] PID X+2 - audio data [[BR]] Packets often come through on PID X+1 containing an adaption field but no payload. The adaption field contains the PCR data. Since there is only 1 video packet and that loop starts from array index 1 instead of 0, the video packet never gets added to the list of Writing PIDs. Then, when MPEGStreamData::ProcessTSPacket processes one of these packets, it doesn't actually have a payload and the video PID is not a writing PID, so the packet gets discarded. The resulting video appears to play fine in myth when there is a seek table, but without a seek table (like if you copy it to mythvideo) you cannot seek around in the file. Other players (VLC and Windows Media Player) refuse to play the file at all. I'm attaching a patch that fixes the issue for me. This patch was generated against 0.24-fixes, but the code appears to be the same in trunk. ",Bug Report - General,closed,minor,unknown,MythTV - General,0.24-fixes,medium,Invalid,,,0