Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Re: a few dxr3 plugin issues



On Thursday 01 May 2003 12:21, Kai Moeller wrote:
>
> > Here is the funny part:  For 0.1.7 and 0.1.8 the sound on channel 'R' is
> > usually played too fast, high pitched with gaps.  Sometimes if I wait a
> > few minutes it returns to normal.
>
> OK, I think this problem is caused by a wrong detected audio header.
> Just try the following patch:
>

I just found the reason for this behavior.
It is caused by a wrong initialization sequence, the following patch fixes 
this (the other patch remains valid):

*** dxr3abstractiondevice.c_orig	Mon Apr 28 18:41:17 2003
--- dxr3abstractiondevice.c	Thu May  1 15:53:06 2003
*************** cDxr3AbsDevice::cDxr3AbsDevice()
*** 79,101 ****
      assert((m_fdSpu = open(dxr3DeviceName( "_sp" ).c_str(), O_WRONLY | 
O_SYNC)) >= 0);

      m_pClock = new cDxr3SysClock(m_fdControl, m_fdVideo, m_fdSpu);
-     SetChannelCount(1);
      uint32_t ratio = EM8300_ASPECTRATIO_4_3;
      ioctl(m_fdControl, EM8300_IOCTL_SET_ASPECTRATIO, &ratio);

      m_bAudioActive = false;
      m_bVideoActive = false;
!     m_audioChannelCount = 0x1;
      m_audioDataRate = 0;
      m_audioSampleSize = 0;
      m_aspectDelayCounter = 0;
      m_aspectRatio = EM8300_ASPECTRATIO_4_3;
      m_horizontal = 720;
- 
-     SetAudioAnalog();
-
      bExternalReleased = false;
      m_volume = 255;
  }

  cOsdBase* cDxr3AbsDevice::NewOsd(int x, int y) {
--- 79,100 ----
      assert((m_fdSpu = open(dxr3DeviceName( "_sp" ).c_str(), O_WRONLY | 
O_SYNC)) >= 0);

      m_pClock = new cDxr3SysClock(m_fdControl, m_fdVideo, m_fdSpu);
      uint32_t ratio = EM8300_ASPECTRATIO_4_3;
      ioctl(m_fdControl, EM8300_IOCTL_SET_ASPECTRATIO, &ratio);

      m_bAudioActive = false;
      m_bVideoActive = false;
!     m_audioChannelCount = UNKNOWN_CHANNEL_COUNT;
      m_audioDataRate = 0;
      m_audioSampleSize = 0;
      m_aspectDelayCounter = 0;
      m_aspectRatio = EM8300_ASPECTRATIO_4_3;
      m_horizontal = 720;
      bExternalReleased = false;
      m_volume = 255;
+ 
+     SetAudioAnalog();
+     SetChannelCount(1);
  }

  cOsdBase* cDxr3AbsDevice::NewOsd(int x, int y) {

- Kai -




-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index