Ticket #1871: 1871.patch

File 1871.patch, 1.9 KB (added by danielk, 19 years ago)

possible fix

  • libs/libmythtv/videobuffers.h

     
    160160    uint                   vpos;
    161161
    162162    mutable QMutex         global_lock;
    163     QMutex                 inheritence_lock;
    164163
    165164    bool                   use_frame_locks;
    166165    QMutex                 frame_lock;
  • libs/libmythtv/videobuffers.cpp

     
    8484    : numbuffers(0), needfreeframes(0), needprebufferframes(0),
    8585      needprebufferframes_normal(0), needprebufferframes_small(0),
    8686      keepprebufferframes(0), need_extra_for_pause(false), rpos(0), vpos(0),
    87       global_lock(true), inheritence_lock(false), use_frame_locks(true),
     87      global_lock(true), use_frame_locks(true),
    8888      frame_lock(true)
    8989{
    9090}
     
    865865{
    866866    (void)frame;
    867867#ifdef USING_XVMC
    868     inheritence_lock.lock();
     868    global_lock.lock();
    869869   
    870870    frame_map_t::iterator it = parents.find(frame);
    871871    if (it == parents.end())
     
    910910            children[*it].push_back((VideoFrame*)frame);
    911911    }
    912912
    913     inheritence_lock.unlock();
     913    global_lock.unlock();
    914914#endif // USING_XVMC
    915915}
    916916
    917917void VideoBuffers::RemoveInheritence(const VideoFrame *frame)
    918918{
    919     inheritence_lock.lock();
     919    global_lock.lock();
    920920
    921921    frame_map_t::iterator it = parents.find(frame);
    922922    if (it == parents.end())
    923923    {
    924         inheritence_lock.unlock();
     924        global_lock.unlock();
    925925        return;
    926926    }
    927927
     
    953953                    .arg(i).arg(DebugString(*pit)));
    954954    }
    955955
    956     inheritence_lock.unlock();
     956    global_lock.unlock();
    957957}
    958958
    959959frame_queue_t VideoBuffers::Children(const VideoFrame *frame)