Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[vdr] Re: DXR3
On Wed, 2004-11-03 at 14:41, Andrey Kuzmin wrote:
> >> Works fine for me! I'm using a 2.6 kernel, cvs drivers, vdr-1.3.15, and
> >> the current dxr3 plugin (0.2.3-pre2, I think it is).
>
> What is your configuration? I couldn't compile 0.2.3-pre2 with VDR >=
> 1.3.13, current CVS dxr3 version compiles successfully, but OSD isn't
> enabled in it.
{snippage}
Ahhh yes. I forgot about that: you need a small patch for the plugin to
compile with vdr-1.3.13 and later...
>From http://www.linuxtv.org/mailinglists/vdr/2004/10-2004/msg00340.html
--- dxr3_old/dxr3syncbuffer.c 2004-07-26 04:04:47.000000000 +0200
+++ dxr3/dxr3syncbuffer.c 2004-10-17 22:59:10.812346976 +0200
@@ -31,7 +31,8 @@
const int DXR3_MAX_VIDEO_FRAME_LENGTH = 4096;
const int DXR3_MAX_AUDIO_FRAME_LENGTH = 4096;
-// ==================================
+// ==================================
+//! constructor
cFixedLengthFrame::cFixedLengthFrame(uint32_t length) :
m_count(0), m_length(length), m_pts(0), m_type(ftUnknown) {
@@ -102,7 +103,8 @@
-// ==================================
+// ==================================
+//! constructor
cDxr3SyncBuffer::cDxr3SyncBuffer(int frameCount, int frameLength,
cDxr3Interface& dxr3Device) : cRingBuffer(frameCount, true),
m_dxr3Device(dxr3Device)
{
m_pBuffer = new cFixedLengthFrame[frameCount](frameLength);
@@ -141,10 +143,14 @@
// ==================================
int cDxr3SyncBuffer::Available(void)
{
- int ret = 0;
- Lock();
+ int ret = 0;
+#if VDRVERSNUM < 10313
+ Lock();
+#endif
ret = m_count;
- Unlock();
+#if VDRVERSNUM < 10313
+ Unlock();
+#endif
return ret;
}
@@ -202,7 +208,9 @@
WaitForPut();
}
- Lock();
+ #if VDRVERSNUM < 10313
+ Lock();
+ #endif
if (pts == m_lastPts)
{
pts = 0;
@@ -246,7 +254,9 @@
m_bWaitPts = false;
}
}
- Unlock();
+ #if VDRVERSNUM < 10313
+ Unlock();
+ #endif
break;
}
@@ -256,7 +266,9 @@
// ==================================
void cDxr3SyncBuffer::Pop(void)
{
- Lock();
+#if VDRVERSNUM < 10313
+ Lock();
+#endif
if (m_count)
{
uint32_t nextPts = 0;
@@ -279,8 +291,10 @@
m_next = m_nextFree = m_count = 0;
}
}
- EnablePut();
- Unlock();
+ EnablePut();
+#if VDRVERSNUM < 10313
+ Unlock();
+#endif
}
// ==================================
@@ -297,12 +311,16 @@
WaitForGet();
}
- Lock();
+ #if VDRVERSNUM < 10313
+ Lock();
+ #endif
if (m_nextFree != m_next)
{
pRet = &m_pBuffer[m_next];
}
- Unlock();
+ #if VDRVERSNUM < 10313
+ Unlock();
+ #endif
}
else
{
@@ -315,7 +333,9 @@
// ==================================
void cDxr3SyncBuffer::Clear(void)
{
- Lock();
+#if VDRVERSNUM < 10313
+ Lock();
+#endif
m_next = 0;
m_nextFree = 0;
m_count = 0;
@@ -330,7 +350,9 @@
}
cFixedLengthFrame::Clear();
cDxr3NextPts::Instance().Clear();
- Unlock();
+#if VDRVERSNUM < 10313
+ Unlock();
+#endif
}
// ==================================
@@ -340,9 +362,13 @@
m_waitDelta = delta;
if (!m_bPutBlock)
{
- Lock();
+ #if VDRVERSNUM < 10313
+ Lock();
+ #endif
m_bWaitPts = true;
- Unlock();
+ #if VDRVERSNUM < 10313
+ Unlock();
+ #endif
m_bGetBlock = true;
ReceiverStopped();
WaitForGet();
@@ -382,7 +408,9 @@
// ==================================
void cDxr3SyncBuffer::WakeUp(void)
{
- Lock();
+#if VDRVERSNUM < 10313
+ Lock();
+#endif
if (m_bStartReceiver == true)
{
if (!m_bWaitPts)
@@ -399,7 +427,9 @@
}
}
}
- Unlock();
+#if VDRVERSNUM < 10313
+ Unlock();
+#endif
}
// ==================================
Should compile fine with that patch.
> BTW what is a roadmap of future DXR3-plugin releases? :)
Best answered by Christian Gmeiner (the maintainer)! As you've found
out, there is no OSD in the current CVS because that part is being
totally rewritten before he moves on to other parts such as A/V sync,
etc. Christian?
The 0.2.3-pre2 version works just fine for me. There are some A/V sync
problems (video sometimes gets ahead of audio for me) and a few glitches
when there is an aspect ratio change but apart from that no complaints!
No complaints apart from the OSD isn't as good as a FF card so I can't
play solitaire on my OSD!
:-(
A few other plugins may not work quite as expected due to this too,
although many have dedicated dxr3 modes to compensate!
Cheers,
Laz
Home |
Main Index |
Thread Index