Ticket #6169: fix_PosMapFromEnc.diff
File fix_PosMapFromEnc.diff, 1.3 KB (added by , 17 years ago) |
---|
-
libs/libmythtv/decoderbase.cpp
178 178 return true; 179 179 } 180 180 181 /** \fn DecoderBase::PosMapFromEnc() 182 * \brief Queries encoder for position map data 183 * that has not been committed to the DB yet. 184 * 185 * PosMapFromDb() must be called first in order to 186 * set positionMapType and keyframedist correctly. 187 * 188 */ 181 189 bool DecoderBase::PosMapFromEnc(void) 182 190 { 183 191 if (!m_parent) … … 191 199 } 192 200 193 201 QMap<long long, long long> posMap; 194 if ( m_parent->PosMapFromEnc(start, posMap))202 if (!m_parent->PosMapFromEnc(start, posMap)) 195 203 return false; 196 204 197 205 QMutexLocker locker(&m_positionMapLock); 198 206 199 // LiveTV will always have a by frame keyframe map..200 positionMapType = MARK_GOP_BYFRAME;201 keyframedist = 1;202 203 207 // append this new position map to class's 204 208 m_positionMap.reserve(m_positionMap.size() + posMap.size()); 205 209 for (QMap<long long,long long>::const_iterator it = posMap.begin(); 206 210 it != posMap.end(); it++) 207 211 { 208 PosMapEntry e = {it.key(), it.key() , *it};212 PosMapEntry e = {it.key(), it.key() * keyframedist, *it}; 209 213 m_positionMap.push_back(e); 210 214 } 211 215 if (!m_positionMap.empty())