Ticket #6340: DVBStreamHandler_replaceQMap.diff

File DVBStreamHandler_replaceQMap.diff, 4.9 KB (added by Matthias "mortalmatt" Dahl <devel@…>, 15 years ago)
  • mythtv/libs/libmythtv/dvbstreamhandler.h

     
    66#include <vector>
    77using namespace std;
    88
    9 #include <qmap.h>
    10 #include <qmutex.h>
     9#include <QMap>
     10#include <QHash>
     11#include <QMutex>
    1112
    1213#include "util.h"
    1314#include "DeviceReadBuffer.h"
     
    1920class DVBChannel;
    2021class DeviceReadBuffer;
    2122
    22 typedef QMap<uint,int> FilterMap;
    23 
    2423//#define RETUNE_TIMEOUT 5000
    2524
    2625class PIDInfo
     
    119118    vector<MPEGStreamData*> _stream_data_list;
    120119
    121120    // for caching TS monitoring supported value.
    122     static QMutex             _rec_supports_ts_monitoring_lock;
    123     static QMap<QString,bool> _rec_supports_ts_monitoring;
     121    static QMutex              _rec_supports_ts_monitoring_lock;
     122    static QHash<QString,bool> _rec_supports_ts_monitoring;
    124123
    125124    // for implementing Get & Return
    126     static QMutex                          _handlers_lock;
    127     static QMap<QString,DVBStreamHandler*> _handlers;
    128     static QMap<QString,uint>              _handlers_refcnt;
     125    static QMutex                           _handlers_lock;
     126    static QHash<QString,DVBStreamHandler*> _handlers;
     127    static QHash<QString,uint>              _handlers_refcnt;
    129128};
    130129
    131130#endif // _DVBSTREAMHANDLER_H_
  • mythtv/libs/libmythtv/dvbstreamhandler.cpp

     
    1010#include <sys/ioctl.h>
    1111
    1212// Qt headers
    13 #include <qstring.h>
     13#include <QString>
     14#include <QHash>
    1415
    1516// MythTV headers
    1617#include "dvbstreamhandler.h"
     
    2627#define LOC_WARN QString("DVBSH(%1) Warning: ").arg(_dvb_dev)
    2728#define LOC_ERR  QString("DVBSH(%1) Error: ").arg(_dvb_dev)
    2829
    29 QMap<QString,bool> DVBStreamHandler::_rec_supports_ts_monitoring;
    30 QMutex             DVBStreamHandler::_rec_supports_ts_monitoring_lock;
     30QHash<QString,bool> DVBStreamHandler::_rec_supports_ts_monitoring;
     31QMutex              DVBStreamHandler::_rec_supports_ts_monitoring_lock;
    3132
    32 QMap<QString,DVBStreamHandler*> DVBStreamHandler::_handlers;
    33 QMap<QString,uint>              DVBStreamHandler::_handlers_refcnt;
    34 QMutex                          DVBStreamHandler::_handlers_lock;
     33QHash<QString,DVBStreamHandler*> DVBStreamHandler::_handlers;
     34QHash<QString,uint>              DVBStreamHandler::_handlers_refcnt;
     35QMutex                           DVBStreamHandler::_handlers_lock;
    3536
    3637DVBStreamHandler *DVBStreamHandler::Get(const QString &dvb_device)
    3738{
    3839    QMutexLocker locker(&_handlers_lock);
    3940
    40     QMap<QString,DVBStreamHandler*>::iterator it =
     41    QHash<QString,DVBStreamHandler*>::iterator it =
    4142        _handlers.find(dvb_device);
    4243
    4344    if (it == _handlers.end())
     
    5960
    6061    QString dvb_dev = ref->_dvb_dev;
    6162
    62     QMap<QString,uint>::iterator rit = _handlers_refcnt.find(dvb_dev);
     63    QHash<QString,uint>::iterator rit = _handlers_refcnt.find(dvb_dev);
    6364    if (rit == _handlers_refcnt.end())
    6465        return;
    6566
     
    6970        return;
    7071    }
    7172
    72     QMap<QString,DVBStreamHandler*>::iterator it = _handlers.find(dvb_dev);
     73    QHash<QString,DVBStreamHandler*>::iterator it = _handlers.find(dvb_dev);
    7374    if ((it != _handlers.end()) && (*it == ref))
    7475    {
    7576        ref = NULL;
     
    482483void DVBStreamHandler::CycleFiltersByPriority(void)
    483484{
    484485    QMutexLocker writing_locker(&_pid_lock);
    485     QMap<PIDPriority, pid_list_t> priority_queue;
    486     QMap<PIDPriority, uint> priority_open_cnt;
     486    QHash<PIDPriority, pid_list_t> priority_queue;
     487    QHash<PIDPriority, uint> priority_open_cnt;
    487488
    488489    PIDInfoMap::const_iterator cit = _pid_info.begin();
    489490    for (; cit != _pid_info.end(); ++cit)
     
    494495            priority_open_cnt[priority]++;
    495496    }
    496497
    497     QMap<PIDPriority, pid_list_t>::iterator it = priority_queue.begin();
     498    QHash<PIDPriority, pid_list_t>::iterator it = priority_queue.begin();
    498499    for (; it != priority_queue.end(); ++it)
    499500        sort((*it).begin(), (*it).end());
    500501
     
    677678            _stream_data_list[i]->GetPIDs(pids);
    678679    }
    679680
    680     QMap<uint, PIDInfo*> add_pids;
     681    QHash<uint, PIDInfo*> add_pids;
    681682    vector<uint>         del_pids;
    682683
    683684    {
     
    711712        ok &= RemovePIDFilter(*dit);
    712713
    713714    // Add PIDs
    714     QMap<uint, PIDInfo*>::iterator ait = add_pids.begin();
     715    QHash<uint, PIDInfo*>::iterator ait = add_pids.begin();
    715716    for (; ait != add_pids.end(); ++ait)
    716717        ok &= AddPIDFilter(*ait);
    717718
     
    787788
    788789    {
    789790        QMutexLocker locker(&_rec_supports_ts_monitoring_lock);
    790         QMap<QString,bool>::const_iterator it;
     791        QHash<QString,bool>::const_iterator it;
    791792        it = _rec_supports_ts_monitoring.find(_dvb_dev);
    792793        if (it != _rec_supports_ts_monitoring.end())
    793794            return *it;