gcc3.2 fix
authorMatthew Kennedy <mkennedy@gentoo.org>
Mon, 21 Oct 2002 08:56:21 +0000 (08:56 +0000)
committerMatthew Kennedy <mkennedy@gentoo.org>
Mon, 21 Oct 2002 08:56:21 +0000 (08:56 +0000)
media-video/xmovie/ChangeLog
media-video/xmovie/files/digest-xmovie-1.8-r4 [new file with mode: 0644]
media-video/xmovie/files/xmovie-gcc3-gentoo.patch [new file with mode: 0644]
media-video/xmovie/xmovie-1.8-r4.ebuild [new file with mode: 0644]

index 88cfa27e8a3f237dbd2ae2b062b5377af92cc416..7171c59391a95b26771607c4293bcb7c311ed5ae 100644 (file)
@@ -1,6 +1,14 @@
 # ChangeLog for media-video/xmovie
 # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL
-# $Header: /var/cvsroot/gentoo-x86/media-video/xmovie/ChangeLog,v 1.4 2002/04/12 20:45:34 spider Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/xmovie/ChangeLog,v 1.5 2002/10/21 08:56:21 mkennedy Exp $
+
+*xmovie-1.8-r4 (21 Oct 2002)
+
+  21 Oct 2002; Matthew Kennedy <mkennedy@gentoo.org> xmovie-1.8-r4,
+  ChangeLog, files/digest-xmovie-1.8-r4, files/xmovie-gcc3-gentoo.patch :
+
+  Patch to compilation under GCC3.2. Thanks to Joshua Gentry of Bug
+  #7227.
 
 *xmovie-1.8-r2 (11 Apr 2002)
   11 Apr 2002; Spider <spider@gentoo.org>
diff --git a/media-video/xmovie/files/digest-xmovie-1.8-r4 b/media-video/xmovie/files/digest-xmovie-1.8-r4
new file mode 100644 (file)
index 0000000..169bced
--- /dev/null
@@ -0,0 +1 @@
+MD5 cffbbc1ed8031375a91dce43759c5c65 xmovie-1.8.tar.gz 4692906
diff --git a/media-video/xmovie/files/xmovie-gcc3-gentoo.patch b/media-video/xmovie/files/xmovie-gcc3-gentoo.patch
new file mode 100644 (file)
index 0000000..a34ae52
--- /dev/null
@@ -0,0 +1,1040 @@
+diff -ur old/avifile/avifile/AVIReadHandler.cpp new/avifile/avifile/AVIReadHandler.cpp
+--- old/avifile/avifile/AVIReadHandler.cpp     2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/avifile/AVIReadHandler.cpp     2002-10-12 14:39:37.000000000 -0400
+@@ -19,6 +19,8 @@
+ 
+ #define __MODULE__ "AVIReadHandler"
+ 
++using namespace std;
++#define min(a,b) (((a) < (b)) ? (a) : (b))
+ //#define STREAMING_DEBUG
+ 
+ // HACK!!!!
+@@ -255,7 +257,7 @@
+ 
+ 
+ class AVIReadStream : public IvAVIReadStream, public ListNode2<AVIReadStream> {
+-      friend AVIReadHandler;
++      friend class AVIReadHandler;
+ 
+ public:
+       AVIReadStream(AVIReadHandler *, AVIStreamNode *, int);
+diff -ur old/avifile/avifile/AVIReadHandler2.cpp new/avifile/avifile/AVIReadHandler2.cpp
+--- old/avifile/avifile/AVIReadHandler2.cpp    2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/avifile/AVIReadHandler2.cpp    2002-10-12 14:34:24.000000000 -0400
+@@ -456,7 +456,7 @@
+ ///////////////////////////////////////////////////////////////////////////
+ 
+ class AVIReadStream2 : public IvAVIReadStream {
+-      friend AVIReadHandler2;
++      friend class AVIReadHandler2;
+ 
+ public:
+       AVIReadStream2(AVIReadHandler2 *, ASFStreamNode *, int);
+diff -ur old/avifile/avifile/AviRead.cpp new/avifile/avifile/AviRead.cpp
+--- old/avifile/avifile/AviRead.cpp    2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/avifile/AviRead.cpp    2002-10-12 15:11:15.000000000 -0400
+@@ -4,9 +4,9 @@
+       Copyright 2000 Eugene Kuznetsov (divx@euro.ru)
+ 
+ *********************************************************/
++using namespace std;    
+ #include "AviRead.h"
+ #include <iostream>
+-using namespace std;    
+ #define __MODULE__ "AviRead"
+ #ifndef TIMING
+ #define Debug if(0)
+@@ -104,12 +104,12 @@
+     return pos;
+ }
+ 
+-Unsigned AviReadStream::GetNextKeyFrame(int frame=-1) const
++Unsigned AviReadStream::GetNextKeyFrame(int frame) const
+ {
+     if(m_pIStream==0)return 0;
+     return m_pIStream->NextKeyFrame((frame<0)?(int)m_sample:frame);
+ }    
+-Unsigned AviReadStream::GetPrevKeyFrame(int frame=-1) const
++Unsigned AviReadStream::GetPrevKeyFrame(int frame) const
+ {
+     if(m_pIStream==0)return 0;
+     if(frame==0)return 0;
+diff -ur old/avifile/avifile/AviSegWrite.cpp new/avifile/avifile/AviSegWrite.cpp
+--- old/avifile/avifile/AviSegWrite.cpp        2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/avifile/AviSegWrite.cpp        2002-10-12 15:13:20.000000000 -0400
+@@ -1,5 +1,6 @@
++using namespace std;
+ #include "AviSegWrite.h"
+-IAviSegWriteFile* CreateSegmentedFile(const char* name, unsigned long flimit=0x7F000000, int flags=0, int mask=00777)
++IAviSegWriteFile* CreateSegmentedFile(const char* name, unsigned long flimit, int flags, int mask)
+ {
+     return new AviSegWriteFile(name, flimit, flags, mask);
+ }
+@@ -65,7 +66,7 @@
+     return str.vstream;
+ }
+ IAviAudioWriteStream* AviSegWriteFile::AddAudioStream(int fourcc, 
+-      WAVEFORMATEX* fmt, int bitrate, int flags=0)
++      WAVEFORMATEX* fmt, int bitrate, int flags)
+ {
+     if(!fmt)return 0;
+     streaminfo str;
+@@ -85,7 +86,7 @@
+ IAviWriteStream* AviSegWriteFile::AddStream(enum AviStream::StreamType type,
+       const char* format, Unsigned format_size,
+       int handler, int frame_rate,
+-      int samplesize=0, int quality=0, int flags=0)
++      int samplesize, int quality, int flags)
+ 
+ //IAviWriteStream* AviSegWriteFile::AddStream(enum AviStream::StreamType type)
+ {
+@@ -120,7 +121,7 @@
+ {
+     if(_format)delete _format;
+ }
+-AviSegWriteFile::AviSegWriteFile(const char* name, unsigned long flimit=0x7F000000, int flags=0, int mask=00777)
++AviSegWriteFile::AviSegWriteFile(const char* name, unsigned long flimit, int flags, int mask)
+     :_name(name), m_lFlimit(flimit), _flags(flags), _mask(mask), _size(0LL)
+ {
+     rf=new AviWriteFile(name, flags, mask);
+@@ -134,7 +135,7 @@
+           delete it->format;
+ }
+ 
+-HRESULT AviSegWriteStream::AddChunk(const char* chunk, Unsigned size, Unsigned flags=0)
++HRESULT AviSegWriteStream::AddChunk(const char* chunk, Unsigned size, Unsigned flags)
+ {     
+     HRESULT result=m_pStream->AddChunk(chunk, size, flags);
+     if(m_pFile->rf->FileSize()>m_pFile->m_lFlimit)
+diff -ur old/avifile/avifile/AviWrite.cpp new/avifile/avifile/AviWrite.cpp
+--- old/avifile/avifile/AviWrite.cpp   2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/avifile/AviWrite.cpp   2002-10-12 15:18:53.000000000 -0400
+@@ -10,6 +10,8 @@
+ #include <fcntl.h>
+ #include <iostream>
+ 
++using namespace std;
++
+ #include "AviWrite.h"
+ 
+ #ifdef __FreeBSD__
+@@ -17,7 +19,6 @@
+ #define O_LARGEFILE 0
+ #endif
+ 
+-using namespace std;
+ AviWriteFile::AviWriteFile(const char* name, int flags, int mask):m_fd(0)
+ {
+     try
+@@ -45,7 +46,7 @@
+ IAviWriteStream* AviWriteFile::AddStream(AviStream::StreamType type,
+       const char* format, Unsigned format_size,
+       int handler, int frame_rate,
+-      int samplesize=0, int quality=0, int flags=0)
++      int samplesize, int quality, int flags)
+ {
+     int ckid;
+     ckid=MAKEAVICKID((type==AviWriteStream::Video)?cktypeDIBcompressed:cktypeWAVEbytes, m_streams.size());
+@@ -73,7 +74,7 @@
+     return result;
+ }
+ IAviAudioWriteStream* AviWriteFile::AddAudioStream(int fourcc, 
+-      WAVEFORMATEX* fmt, int bitrate, int flags=0)
++      WAVEFORMATEX* fmt, int bitrate, int flags)
+ {
+     int ckid;
+     ckid=MAKEAVICKID(cktypeWAVEbytes, m_streams.size());
+@@ -134,7 +135,7 @@
+     m_status=0;
+     return;
+ }
+-void AviWriteFile::AddChunk(offset_t offset, Unsigned size, Unsigned id, Unsigned flags=0)
++void AviWriteFile::AddChunk(offset_t offset, Unsigned size, Unsigned id, Unsigned flags)
+ {
+ //    m_index=(AVIINDEXENTRY*)realloc(m_index, (m_indsize+1)*sizeof(AVIINDEXENTRY));
+     AVIINDEXENTRY entry;
+@@ -164,7 +165,7 @@
+         enum AviStream::StreamType type,
+       const char* format, Unsigned format_size,
+       int handler, int frame_rate,
+-      int samplesize=0, int quality=0, int flags=0)
++      int samplesize, int quality, int flags)
+       
+       :m_file(file), m_ckid(ckid)
+ {
+@@ -207,7 +208,7 @@
+ }
+ AviWriteStream::AviWriteStream(AviWriteFile* file, int ckid,
+     enum AviStream::StreamType type,
+-    int handler, int frame_rate, int flags=0)
++    int handler, int frame_rate, int flags)
+       :m_file(file), m_ckid(ckid), m_format(0)
+ {
+     m_fd=file->m_fd;
+@@ -243,7 +244,7 @@
+ }
+ 
+ 
+-HRESULT AviWriteStream::AddChunk(const char* chunk, Unsigned size, Unsigned flags=0)
++HRESULT AviWriteStream::AddChunk(const char* chunk, Unsigned size, Unsigned flags)
+ {
+     if((chunk==0) && (size!=0))
+     {
+@@ -280,7 +281,7 @@
+ IAviVideoWriteStream::~IAviVideoWriteStream(){}
+ IAviWriteFile::~IAviWriteFile(){}
+ 
+-IAviWriteFile* CreateIAviWriteFile(const char* name, int flags, int mask=00777)
++IAviWriteFile* CreateIAviWriteFile(const char* name, int flags, int mask)
+ {
+     return new AviWriteFile(name, flags, mask);
+ }    
+diff -ur old/avifile/avifile/List.h new/avifile/avifile/List.h
+--- old/avifile/avifile/List.h 2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/avifile/List.h 2002-10-12 14:32:37.000000000 -0400
+@@ -78,7 +78,7 @@
+ 
+ template<class T>
+ class ListNode2 : public ListNode {
+-friend List2<T>;
++friend class List2<T>;
+ public:
+       ListNode2<T>() {}
+       ListNode2<T>(void *pv) : ListNode(pv) {}
+diff -ur old/avifile/aviplay/audio.cpp new/avifile/aviplay/audio.cpp
+--- old/avifile/aviplay/audio.cpp      2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/aviplay/audio.cpp      2002-10-12 15:17:35.000000000 -0400
+@@ -27,6 +27,7 @@
+ #include <fcntl.h>
+ #include <pthread.h>
+ 
++using namespace std;
+ 
+ #include <sys/soundcard.h>
+ 
+diff -ur old/avifile/aviplay/aviplay.cpp new/avifile/aviplay/aviplay.cpp
+--- old/avifile/aviplay/aviplay.cpp    2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/aviplay/aviplay.cpp    2002-10-12 15:19:42.000000000 -0400
+@@ -20,7 +20,7 @@
+ #include <unistd.h>//usleep, close
+ #include <pthread.h>
+ #include <errno.h>//EDEADLK
+-
++using namespace std;
+ #include <aviutil.h>
+ #include <except.h>
+ #include "aviplay_impl.h"
+diff -ur old/avifile/aviplay/aviutil.cpp new/avifile/aviplay/aviutil.cpp
+--- old/avifile/aviplay/aviutil.cpp    2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/aviplay/aviutil.cpp    2002-10-12 15:20:15.000000000 -0400
+@@ -11,6 +11,9 @@
+ 
+ #include <sys/time.h>
+ #include <unistd.h>
++
++using namespace std;
++
+ unsigned int (*localcount)();
+ long long (*longcount)();
+ 
+diff -ur old/avifile/include/videodecoder.h new/avifile/include/videodecoder.h
+--- old/avifile/include/videodecoder.h 2001-05-19 23:02:40.000000000 -0400
++++ new/avifile/include/videodecoder.h 2002-10-12 14:41:09.000000000 -0400
+@@ -18,6 +18,7 @@
+ 
+ #include <image.h>
+ #include <infotypes.h> 
++
+ /**
+  *
+  *  Class for video decompression.
+diff -ur old/avifile/videocodec/AVIModule.cpp new/avifile/videocodec/AVIModule.cpp
+--- old/avifile/videocodec/AVIModule.cpp       2001-05-19 23:02:40.000000000 -0400
++++ new/avifile/videocodec/AVIModule.cpp       2002-10-12 15:48:21.000000000 -0400
+@@ -1,3 +1,4 @@
++using namespace std;
+ #include "AVIModule.h"
+ #include <loader.h>
+ #include <wine/winreg.h>
+diff -ur old/avifile/videocodec/DirectShow/DS_VideoDecoder.cpp new/avifile/videocodec/DirectShow/DS_VideoDecoder.cpp
+--- old/avifile/videocodec/DirectShow/DS_VideoDecoder.cpp      2001-05-19 23:02:40.000000000 -0400
++++ new/avifile/videocodec/DirectShow/DS_VideoDecoder.cpp      2002-10-12 17:31:18.000000000 -0400
+@@ -6,7 +6,7 @@
+ *********************************************************/
+ 
+ #include <config.h>
+-
++using namespace std;
+ #include "DS_VideoDecoder.h"
+ #include <string.h>
+ #include <stdlib.h>
+@@ -368,7 +368,7 @@
+ 
+     return 0;
+ }
+-int DS_VideoDecoder::SetDestFmt(int bits=24, int csp=0)
++int DS_VideoDecoder::SetDestFmt(int bits, int csp)
+ {
+     if(m_iState==0)
+       return -1;
+diff -ur old/avifile/videocodec/DirectShow/allocator.cpp new/avifile/videocodec/DirectShow/allocator.cpp
+--- old/avifile/videocodec/DirectShow/allocator.cpp    2001-05-19 23:02:40.000000000 -0400
++++ new/avifile/videocodec/DirectShow/allocator.cpp    2002-10-12 16:03:02.000000000 -0400
+@@ -23,15 +23,15 @@
+ {
+     Debug printf("MemAllocator::MemAllocator() called\n");
+     vt=new IMemAllocator_vt;
+-    vt->QueryInterface = QueryInterface;
+-    vt->AddRef = AddRef;
+-    vt->Release = Release;
+-    vt->SetProperties = SetProperties;
+-    vt->GetProperties = GetProperties;
+-    vt->Commit = Commit;
+-    vt->Decommit = Decommit;
+-    vt->GetBuffer = GetBuffer;
+-    vt->ReleaseBuffer = ReleaseBuffer;
++    (void *)vt->QueryInterface = QueryInterface;
++    (void *)vt->AddRef = AddRef;
++    (void *)vt->Release = Release;
++    (void *)vt->SetProperties = SetProperties;
++    (void *)vt->GetProperties = GetProperties;
++    (void *)vt->Commit = Commit;
++    (void *)vt->Decommit = Decommit;
++    (void *)vt->GetBuffer = GetBuffer;
++    (void *)vt->ReleaseBuffer = ReleaseBuffer;
+     
+     props.cBuffers=props.cbBuffer=1;
+     props.cbAlign=props.cbPrefix=0;
+diff -ur old/avifile/videocodec/DirectShow/cmediasample.cpp new/avifile/videocodec/DirectShow/cmediasample.cpp
+--- old/avifile/videocodec/DirectShow/cmediasample.cpp 2001-05-19 23:02:40.000000000 -0400
++++ new/avifile/videocodec/DirectShow/cmediasample.cpp 2002-10-12 16:01:57.000000000 -0400
+@@ -6,25 +6,25 @@
+ {
+     vt=new IMediaSample_vt;
+     
+-    vt->QueryInterface=QueryInterface;
+-    vt->AddRef=AddRef;
+-    vt->Release=Release;
+-    vt->GetPointer=GetPointer ; 
+-    vt->GetSize=GetSize ; 
+-    vt->GetTime=GetTime ; 
+-    vt->SetTime=SetTime ; 
+-    vt->IsSyncPoint=IsSyncPoint ; 
+-    vt->SetSyncPoint=SetSyncPoint; 
+-    vt->IsPreroll=IsPreroll; 
+-    vt->SetPreroll=SetPreroll; 
+-    vt->GetActualDataLength=GetActualDataLength; 
+-    vt->SetActualDataLength=SetActualDataLength; 
+-    vt->GetMediaType=GetMediaType; 
+-    vt->SetMediaType=SetMediaType; 
+-    vt->IsDiscontinuity=IsDiscontinuity; 
+-    vt->SetDiscontinuity=SetDiscontinuity; 
+-    vt->GetMediaTime=GetMediaTime; 
+-    vt->SetMediaTime=SetMediaTime; 
++    (void *)vt->QueryInterface=QueryInterface;
++    (void *)vt->AddRef=AddRef;
++    (void *)vt->Release=Release;
++    (void *)vt->GetPointer=GetPointer ; 
++    (void *)vt->GetSize=GetSize ; 
++    (void *)vt->GetTime=GetTime ; 
++    (void *)vt->SetTime=SetTime ; 
++    (void *)vt->IsSyncPoint=IsSyncPoint ; 
++    (void *)vt->SetSyncPoint=SetSyncPoint; 
++    (void *)vt->IsPreroll=IsPreroll; 
++    (void *)vt->SetPreroll=SetPreroll; 
++    (void *)vt->GetActualDataLength=GetActualDataLength; 
++    (void *)vt->SetActualDataLength=SetActualDataLength; 
++    (void *)vt->GetMediaType=GetMediaType; 
++    (void *)vt->SetMediaType=SetMediaType; 
++    (void *)vt->IsDiscontinuity=IsDiscontinuity; 
++    (void *)vt->SetDiscontinuity=SetDiscontinuity; 
++    (void *)vt->GetMediaTime=GetMediaTime; 
++    (void *)vt->SetMediaTime=SetMediaTime; 
+     
+     all=allocator;
+     size=_size;
+diff -ur old/avifile/videocodec/DirectShow/inputpin.cpp new/avifile/videocodec/DirectShow/inputpin.cpp
+--- old/avifile/videocodec/DirectShow/inputpin.cpp     2001-05-19 23:02:40.000000000 -0400
++++ new/avifile/videocodec/DirectShow/inputpin.cpp     2002-10-12 16:07:13.000000000 -0400
+@@ -76,13 +76,13 @@
+ CEnumPins::CEnumPins(IPin* p, IPin* pp): pin1(p), pin2(pp), counter(0), refcount(1)
+ {
+     vt=new IEnumPins_vt;
+-    vt->QueryInterface = QueryInterface;
+-    vt->AddRef = AddRef;
+-    vt->Release = Release;
+-    vt->Next = Next; 
+-    vt->Skip = Skip; 
+-    vt->Reset = Reset;
+-    vt->Clone = Clone; 
++    (void *)vt->QueryInterface = QueryInterface;
++    (void *)vt->AddRef = AddRef;
++    (void *)vt->Release = Release;
++    (void *)vt->Next = Next; 
++    (void *)vt->Skip = Skip; 
++    (void *)vt->Reset = Reset;
++    (void *)vt->Clone = Clone; 
+ }
+ 
+ HRESULT STDCALL CEnumPins::Next ( 
+@@ -148,24 +148,24 @@
+      : refcount(1), type(vh), parent(p)
+ {
+     vt=new IPin_vt;
+-    vt->QueryInterface = QueryInterface;
+-    vt->AddRef = AddRef;
+-    vt->Release = Release;
+-    vt->Connect = Connect;
+-    vt->ReceiveConnection = ReceiveConnection;
+-    vt->Disconnect=Disconnect;
+-    vt->ConnectedTo = ConnectedTo;
+-    vt->ConnectionMediaType = ConnectionMediaType;
+-    vt->QueryPinInfo = QueryPinInfo;
+-    vt->QueryDirection = QueryDirection;
+-    vt->QueryId = QueryId;
+-    vt->QueryAccept = QueryAccept;
+-    vt->EnumMediaTypes = EnumMediaTypes;
+-    vt->QueryInternalConnections = QueryInternalConnections;
+-    vt->EndOfStream = EndOfStream;
+-    vt->BeginFlush = BeginFlush;
+-    vt->EndFlush = EndFlush;
+-    vt->NewSegment = NewSegment;
++    (void *)vt->QueryInterface = QueryInterface;
++    (void *)vt->AddRef = AddRef;
++    (void *)vt->Release = Release;
++    (void *)vt->Connect = Connect;
++    (void *)vt->ReceiveConnection = ReceiveConnection;
++    (void *)vt->Disconnect=Disconnect;
++    (void *)vt->ConnectedTo = ConnectedTo;
++    (void *)vt->ConnectionMediaType = ConnectionMediaType;
++    (void *)vt->QueryPinInfo = QueryPinInfo;
++    (void *)vt->QueryDirection = QueryDirection;
++    (void *)vt->QueryId = QueryId;
++    (void *)vt->QueryAccept = QueryAccept;
++    (void *)vt->EnumMediaTypes = EnumMediaTypes;
++    (void *)vt->QueryInternalConnections = QueryInternalConnections;
++    (void *)vt->EndOfStream = EndOfStream;
++    (void *)vt->BeginFlush = BeginFlush;
++    (void *)vt->EndFlush = EndFlush;
++    (void *)vt->NewSegment = NewSegment;
+ }
+ 
+ HRESULT STDCALL CInputPin::Connect ( 
+@@ -322,21 +322,21 @@
+     pin=new CInputPin(this, type);
+     unused_pin=new CRemotePin(this, parent->GetPin());
+     vt=new IBaseFilter_vt;
+-    vt->QueryInterface = QueryInterface;
+-    vt->AddRef = AddRef;
+-    vt->Release = Release;
+-    vt->GetClassID = GetClassID;
+-    vt->Stop = Stop;
+-    vt->Pause = Pause;
+-    vt->Run = Run;
+-    vt->GetState = GetState; 
+-    vt->SetSyncSource = SetSyncSource;
+-    vt->GetSyncSource = GetSyncSource;
+-    vt->EnumPins = EnumPins;
+-    vt->FindPin = FindPin;
+-    vt->QueryFilterInfo = QueryFilterInfo;
+-    vt->JoinFilterGraph = JoinFilterGraph;
+-    vt->QueryVendorInfo = QueryVendorInfo;
++    (void *)vt->QueryInterface = QueryInterface;
++    (void *)vt->AddRef = AddRef;
++    (void *)vt->Release = Release;
++    (void *)vt->GetClassID = GetClassID;
++    (void *)vt->Stop = Stop;
++    (void *)vt->Pause = Pause;
++    (void *)vt->Run = Run;
++    (void *)vt->GetState = GetState; 
++    (void *)vt->SetSyncSource = SetSyncSource;
++    (void *)vt->GetSyncSource = GetSyncSource;
++    (void *)vt->EnumPins = EnumPins;
++    (void *)vt->FindPin = FindPin;
++    (void *)vt->QueryFilterInfo = QueryFilterInfo;
++    (void *)vt->JoinFilterGraph = JoinFilterGraph;
++    (void *)vt->QueryVendorInfo = QueryVendorInfo;
+ }
+ 
+ HRESULT STDCALL CBaseFilter::GetClassID ( 
+@@ -454,44 +454,44 @@
+     pin=new CRemotePin2(this);
+     vt=new IBaseFilter_vt;
+     memset(vt, 0, sizeof (IBaseFilter_vt));
+-    vt->QueryInterface = QueryInterface;
+-    vt->AddRef = AddRef;
+-    vt->Release = Release;
+-    vt->GetClassID = GetClassID;
+-    vt->Stop = Stop;
+-    vt->Pause = Pause;
+-    vt->Run = Run;
+-    vt->GetState = GetState; 
+-    vt->SetSyncSource = SetSyncSource;
+-    vt->GetSyncSource = GetSyncSource;
+-    vt->EnumPins = EnumPins;
+-    vt->FindPin = FindPin;
+-    vt->QueryFilterInfo = QueryFilterInfo;
+-    vt->JoinFilterGraph = JoinFilterGraph;
+-    vt->QueryVendorInfo = QueryVendorInfo;
++    (void *)vt->QueryInterface = QueryInterface;
++    (void *)vt->AddRef = AddRef;
++    (void *)vt->Release = Release;
++    (void *)vt->GetClassID = GetClassID;
++    (void *)vt->Stop = Stop;
++    (void *)vt->Pause = Pause;
++    (void *)vt->Run = Run;
++    (void *)vt->GetState = GetState; 
++    (void *)vt->SetSyncSource = SetSyncSource;
++    (void *)vt->GetSyncSource = GetSyncSource;
++    (void *)vt->EnumPins = EnumPins;
++    (void *)vt->FindPin = FindPin;
++    (void *)vt->QueryFilterInfo = QueryFilterInfo;
++    (void *)vt->JoinFilterGraph = JoinFilterGraph;
++    (void *)vt->QueryVendorInfo = QueryVendorInfo;
+ }
+ CRemotePin2::CRemotePin2(CBaseFilter2* p):parent(p),
+     refcount(1)
+ {
+     vt=new IPin_vt;
+     memset(vt, 0, sizeof (IPin_vt));
+-    vt->QueryInterface = QueryInterface;
+-    vt->AddRef = AddRef;
+-    vt->Release = Release;
+-    vt->QueryPinInfo=QueryPinInfo;
++    (void *)vt->QueryInterface = QueryInterface;
++    (void *)vt->AddRef = AddRef;
++    (void *)vt->Release = Release;
++    (void *)vt->QueryPinInfo=QueryPinInfo;
+ }
+ CRemotePin::CRemotePin(CBaseFilter* pt, IPin* rpin): parent(pt), remote_pin(rpin),
+     refcount(1)
+ {
+     vt=new IPin_vt;
+     memset(vt, 0, sizeof (IPin_vt));
+-    vt->QueryInterface = QueryInterface;
+-    vt->AddRef = AddRef;
+-    vt->Release = Release;
+-    vt->QueryDirection = QueryDirection;
+-    vt->ConnectedTo = ConnectedTo;
+-    vt->ConnectionMediaType = ConnectionMediaType;
+-    vt->QueryPinInfo = QueryPinInfo;
++    (void *)vt->QueryInterface = QueryInterface;
++    (void *)vt->AddRef = AddRef;
++    (void *)vt->Release = Release;
++    (void *)vt->QueryDirection = QueryDirection;
++    (void *)vt->ConnectedTo = ConnectedTo;
++    (void *)vt->ConnectionMediaType = ConnectionMediaType;
++    (void *)vt->QueryPinInfo = QueryPinInfo;
+ }
+ 
+ 
+diff -ur old/avifile/videocodec/DirectShow/outputpin.cpp new/avifile/videocodec/DirectShow/outputpin.cpp
+--- old/avifile/videocodec/DirectShow/outputpin.cpp    2001-05-19 23:02:40.000000000 -0400
++++ new/avifile/videocodec/DirectShow/outputpin.cpp    2002-10-12 16:09:35.000000000 -0400
+@@ -45,13 +45,13 @@
+ {
+     this->type=type;
+     vt=new IEnumMediaTypes_vt;
+-    vt->QueryInterface = QueryInterface;
+-    vt->AddRef = AddRef;
+-    vt->Release = Release;
+-    vt->Next = Next; 
+-    vt->Skip = Skip; 
+-    vt->Reset = Reset;
+-    vt->Clone = Clone; 
++    (void *)vt->QueryInterface = QueryInterface;
++    (void *)vt->AddRef = AddRef;
++    (void *)vt->Release = Release;
++    (void *)vt->Next = Next; 
++    (void *)vt->Skip = Skip; 
++    (void *)vt->Reset = Reset;
++    (void *)vt->Clone = Clone; 
+ }
+ 
+ HRESULT STDCALL CEnumMediaTypes::Next ( 
+@@ -112,35 +112,35 @@
+ COutputPin::COutputPin(const AM_MEDIA_TYPE& vh) :refcount(1), type(vh), remote(0)
+ {
+     IPin::vt=new IPin_vt;
+-    IPin::vt->QueryInterface = QueryInterface;
+-    IPin::vt->AddRef = AddRef;
+-    IPin::vt->Release = Release;
+-    IPin::vt->Connect = Connect;
+-    IPin::vt->ReceiveConnection = ReceiveConnection;
+-    IPin::vt->Disconnect=Disconnect;
+-    IPin::vt->ConnectedTo = ConnectedTo;
+-    IPin::vt->ConnectionMediaType = ConnectionMediaType;
+-    IPin::vt->QueryPinInfo = QueryPinInfo;
+-    IPin::vt->QueryDirection = QueryDirection;
+-    IPin::vt->QueryId = QueryId;
+-    IPin::vt->QueryAccept = QueryAccept;
+-    IPin::vt->EnumMediaTypes = EnumMediaTypes;
+-    IPin::vt->QueryInternalConnections = QueryInternalConnections;
+-    IPin::vt->EndOfStream = EndOfStream;
+-    IPin::vt->BeginFlush = BeginFlush;
+-    IPin::vt->EndFlush = EndFlush;
+-    IPin::vt->NewSegment = NewSegment;
++    (void *)IPin::vt->QueryInterface = QueryInterface;
++    (void *)IPin::vt->AddRef = AddRef;
++    (void *)IPin::vt->Release = Release;
++    (void *)IPin::vt->Connect = Connect;
++    (void *)IPin::vt->ReceiveConnection = ReceiveConnection;
++    (void *)IPin::vt->Disconnect=Disconnect;
++    (void *)IPin::vt->ConnectedTo = ConnectedTo;
++    (void *)IPin::vt->ConnectionMediaType = ConnectionMediaType;
++    (void *)IPin::vt->QueryPinInfo = QueryPinInfo;
++    (void *)IPin::vt->QueryDirection = QueryDirection;
++    (void *)IPin::vt->QueryId = QueryId;
++    (void *)IPin::vt->QueryAccept = QueryAccept;
++    (void *)IPin::vt->EnumMediaTypes = EnumMediaTypes;
++    (void *)IPin::vt->QueryInternalConnections = QueryInternalConnections;
++    (void *)IPin::vt->EndOfStream = EndOfStream;
++    (void *)IPin::vt->BeginFlush = BeginFlush;
++    (void *)IPin::vt->EndFlush = EndFlush;
++    (void *)IPin::vt->NewSegment = NewSegment;
+ 
+     IMemInputPin::vt=new IMemInputPin_vt;
+-    IMemInputPin::vt->QueryInterface = M_QueryInterface;
+-    IMemInputPin::vt->AddRef = M_AddRef;
+-    IMemInputPin::vt->Release = M_Release;
+-    IMemInputPin::vt->GetAllocator = GetAllocator;
+-    IMemInputPin::vt->NotifyAllocator = NotifyAllocator;
+-    IMemInputPin::vt->GetAllocatorRequirements = GetAllocatorRequirements;
+-    IMemInputPin::vt->Receive = Receive;
+-    IMemInputPin::vt->ReceiveMultiple = ReceiveMultiple;
+-    IMemInputPin::vt->ReceiveCanBlock = ReceiveCanBlock;
++    (void *)IMemInputPin::vt->QueryInterface = M_QueryInterface;
++    (void *)IMemInputPin::vt->AddRef = M_AddRef;
++    (void *)IMemInputPin::vt->Release = M_Release;
++    (void *)IMemInputPin::vt->GetAllocator = GetAllocator;
++    (void *)IMemInputPin::vt->NotifyAllocator = NotifyAllocator;
++    (void *)IMemInputPin::vt->GetAllocatorRequirements = GetAllocatorRequirements;
++    (void *)IMemInputPin::vt->Receive = Receive;
++    (void *)IMemInputPin::vt->ReceiveMultiple = ReceiveMultiple;
++    (void *)IMemInputPin::vt->ReceiveCanBlock = ReceiveCanBlock;
+ }
+ 
+ // IPin->IUnknown methods
+diff -ur old/avifile/videocodec/VideoDecoder.cpp new/avifile/videocodec/VideoDecoder.cpp
+--- old/avifile/videocodec/VideoDecoder.cpp    2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/videocodec/VideoDecoder.cpp    2002-10-12 15:50:57.000000000 -0400
+@@ -6,7 +6,7 @@
+ *********************************************************/
+ 
+ #include <config.h>
+-
++using namespace std;
+ #include "VideoDecoder.h"
+ #include "VideoEncoder.h"
+ #include "DirectShow/DS_VideoDecoder.h"
+@@ -44,7 +44,7 @@
+     void clear(){handle=0;}
+ };
+ 
+-IVideoDecoder* IVideoDecoder::Create(const BITMAPINFOHEADER& bh, int depth=24, int flip=0)
++IVideoDecoder* IVideoDecoder::Create(const BITMAPINFOHEADER& bh, int depth, int flip)
+ {
+     vector<CodecInfo>::iterator it;
+     vector<int>::iterator iv;
+@@ -327,7 +327,7 @@
+       }    
+       return 0;
+ }
+-int VideoDecoder::SetDestFmt(int bits=24, int csp=0)
++int VideoDecoder::SetDestFmt(int bits, int csp)
+ {
+     if(m_iState==0)
+       return -1;
+diff -ur old/avifile/videocodec/VideoEncoder.cpp new/avifile/videocodec/VideoEncoder.cpp
+--- old/avifile/videocodec/VideoEncoder.cpp    2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/videocodec/VideoEncoder.cpp    2002-10-12 15:49:47.000000000 -0400
+@@ -6,7 +6,7 @@
+ *********************************************************/
+ 
+ #include <config.h>
+-
++using namespace std;
+ #include "Unc.h"
+ #include "VideoEncoder.h"
+ //#include "mjpeg/mjpeg_encoder.h"
+diff -ur old/avifile/videocodec/codeckeeper.cpp new/avifile/videocodec/codeckeeper.cpp
+--- old/avifile/videocodec/codeckeeper.cpp     2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/videocodec/codeckeeper.cpp     2002-10-12 18:12:36.000000000 -0400
+@@ -1,3 +1,4 @@
++using namespace std;
+ #include "VideoEncoder.h"
+ #include <dlfcn.h>
+ #include <dirent.h>
+@@ -234,20 +235,19 @@
+     }     
+ }
+ 
+-const CodecInfo* CodecInfo::match(int codec, const CodecInfo* start=0)
++const CodecInfo* CodecInfo::match(int codec, const CodecInfo* start)
+ {
+-    vector<CodecInfo>::const_iterator it;
+-    if(start==0)
+-      it=video_codecs.begin();
+-    else
+-      it=start;
++    CodecInfo *pParam = (CodecInfo *)start;
++    if (pParam == NULL) pParam = &video_codecs.front();
++    vector<CodecInfo>::const_iterator it(pParam);
++
+     vector<int>::const_iterator iv;
+     for(; it!=video_codecs.end(); it++)
+     {
+-      if(start && (it==start))continue;       
++      if(start && (it.base()==start))continue;        
+       for(iv=it->fourcc_array.begin(); iv!=it->fourcc_array.end(); iv++)
+           if(codec==(*iv))
+-              return (const CodecInfo*)it;
++              return (const CodecInfo*)it.base();
+     }
+     return 0;
+ }
+diff -ur old/avifile/videocodec/image.cpp new/avifile/videocodec/image.cpp
+--- old/avifile/videocodec/image.cpp   2001-05-19 23:02:39.000000000 -0400
++++ new/avifile/videocodec/image.cpp   2002-10-12 15:54:08.000000000 -0400
+@@ -4,6 +4,8 @@
+ #include <stdlib.h>
+ #include <except.h>
+ #define __MODULE__ "Image base class"
++
++using namespace std;
+ int CImage::imageCounter=0;
+ template<class T> inline T min(T a, T b)
+ {
+@@ -27,7 +29,7 @@
+     _width=abs(_info->biWidth);
+     _height=abs(_info->biHeight);
+ }
+-CImage::CImage(const BitmapInfo* header, unsigned char* data=0, bool copy=true)
++CImage::CImage(const BitmapInfo* header, unsigned char* data, bool copy)
+     :_info(new BitmapInfo(header)),_refcount(1)
+ {
+     fill_members();
+@@ -64,7 +66,7 @@
+     register_image();
+ }
+ 
+-CImage::CImage(const CImage* im, int depth=-1)
++CImage::CImage(const CImage* im, int depth)
+     :_info(new BitmapInfo(im->get_fmt())), _refcount(1)
+ {
+     if(depth!=-1)
+@@ -215,7 +217,7 @@
+ {
+       return (int(b)<<16)+(int(g)<<8)+int(r);
+ }
+-void CImage::ToYUV(int destfmt=0)
++void CImage::ToYUV(int destfmt)
+ {
+     struct yuv* src;
+     src=(struct yuv*)_data+_width*_height-1;
+Only in new: global_config
+diff -ur old/guicast/bcbutton.h new/guicast/bcbutton.h
+--- old/guicast/bcbutton.h     2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/bcbutton.h     2002-10-12 18:19:50.000000000 -0400
+@@ -14,7 +14,7 @@
+       BC_Button(int x, int y, VFrame **data);
+       virtual ~BC_Button();
+ 
+-      friend BC_GenericButton;
++      friend class BC_GenericButton;
+ 
+       virtual int handle_event() { return 0; };
+       int repeat_event(long repeat_id);
+diff -ur old/guicast/bcfilebox.h new/guicast/bcfilebox.h
+--- old/guicast/bcfilebox.h    2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/bcfilebox.h    2002-10-12 18:34:59.000000000 -0400
+@@ -167,18 +167,18 @@
+               int h_padding = 0);
+       virtual ~BC_FileBox();
+ 
+-      friend BC_FileBoxCancel;
+-      friend BC_FileBoxListBox;
+-      friend BC_FileBoxTextBox;
+-      friend BC_FileBoxText;
+-      friend BC_FileBoxIcons;
+-      friend BC_FileBoxNewfolder;
+-      friend BC_FileBoxOK;
+-      friend BC_NewFolderThread;
+-      friend BC_FileBoxUpdir;
+-      friend BC_FileBoxFilterText;
+-      friend BC_FileBoxFilterMenu;
+-      friend BC_FileBoxUseThis;
++      friend class BC_FileBoxCancel;
++      friend class BC_FileBoxListBox;
++      friend class BC_FileBoxTextBox;
++      friend class BC_FileBoxText;
++      friend class BC_FileBoxIcons;
++      friend class BC_FileBoxNewfolder;
++      friend class BC_FileBoxOK;
++      friend class BC_NewFolderThread;
++      friend class BC_FileBoxUpdir;
++      friend class BC_FileBoxFilterText;
++      friend class BC_FileBoxFilterMenu;
++      friend class BC_FileBoxUseThis;
+ 
+       virtual int create_objects();
+ // Give the most recently selected path
+diff -ur old/guicast/bclistbox.h new/guicast/bclistbox.h
+--- old/guicast/bclistbox.h    2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/bclistbox.h    2002-10-12 18:29:07.000000000 -0400
+@@ -27,7 +27,7 @@
+       BC_ListBoxItem(int x, int y, char *text, BC_Pixmap *icon, int color = BLACK);
+       virtual ~BC_ListBoxItem();
+ 
+-      friend BC_ListBox;
++      friend class BC_ListBox;
+ 
+       BC_ListBoxItem& operator=(BC_ListBoxItem& item);
+       void set_text(char *new_text);
+@@ -96,7 +96,7 @@
+               int allow_drag = 0);                  // Allow user to drag icons around
+       virtual ~BC_ListBox();
+ 
+-      friend BC_PopupListBox;
++      friend class BC_PopupListBox;
+ 
+       int initialize();
+ 
+diff -ur old/guicast/bcmenubar.h new/guicast/bcmenubar.h
+--- old/guicast/bcmenubar.h    2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/bcmenubar.h    2002-10-12 18:35:40.000000000 -0400
+@@ -11,7 +11,7 @@
+       BC_MenuBar(int x, int y, int w);
+       virtual ~BC_MenuBar();
+ 
+-      friend BC_Menu;
++      friend class BC_Menu;
+ 
+       int add_menu(BC_Menu* menu);
+ 
+@@ -44,7 +44,7 @@
+       BC_Menu(char *text);
+       virtual ~BC_Menu();
+ 
+-      friend BC_MenuBar;
++      friend class BC_MenuBar;
+ 
+ // Called by user
+       int add_item(BC_MenuItem* menuitem);
+@@ -85,7 +85,7 @@
+       BC_MenuItem(char *text, char *hotkey_text = "", int hotkey = 0);
+       virtual ~BC_MenuItem();
+ 
+-      friend BC_MenuPopup;
++      friend class BC_MenuPopup;
+ 
+       int add_submenu(BC_SubMenu *submenu);
+       int set_checked(int value);
+@@ -141,7 +141,7 @@
+       BC_MenuPopup();
+       virtual ~BC_MenuPopup();
+ 
+-      friend BC_MenuItem;
++      friend class BC_MenuItem;
+ 
+       int initialize(BC_WindowBase *top_level, 
+               BC_MenuBar *menu_bar, 
+diff -ur old/guicast/bcpixmap.h new/guicast/bcpixmap.h
+--- old/guicast/bcpixmap.h     2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/bcpixmap.h     2002-10-12 18:20:04.000000000 -0400
+@@ -19,7 +19,7 @@
+               int h);
+       ~BC_Pixmap();
+ 
+-      friend BC_WindowBase;
++      friend class BC_WindowBase;
+ 
+       void resize(int w, int h);
+       void copy_area(int x, int y, int w, int h, int x2, int y2);
+diff -ur old/guicast/bcpot.h new/guicast/bcpot.h
+--- old/guicast/bcpot.h        2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/bcpot.h        2002-10-12 18:36:47.000000000 -0400
+@@ -21,10 +21,10 @@
+       BC_Pot(int x, int y, VFrame **data);
+       virtual ~BC_Pot();
+ 
+-      friend BC_FPot;
+-      friend BC_IPot;
+-      friend BC_QPot;
+-      friend BC_PercentagePot;
++      friend class BC_FPot;
++      friend class BC_IPot;
++      friend class BC_QPot;
++      friend class BC_PercentagePot;
+ 
+       int initialize();
+       virtual float get_percentage() { return 0; };
+diff -ur old/guicast/bcprogressbox.h new/guicast/bcprogressbox.h
+--- old/guicast/bcprogressbox.h        2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/bcprogressbox.h        2002-10-12 18:37:10.000000000 -0400
+@@ -13,7 +13,7 @@
+       BC_ProgressBox(int x, int y, char *text, long length);
+       virtual ~BC_ProgressBox();
+       
+-      friend BC_ProgressWindow;
++      friend class BC_ProgressWindow;
+ 
+       void run();
+       int update(long position);    // return 1 if cancelled
+diff -ur old/guicast/bcscrollbar.h new/guicast/bcscrollbar.h
+--- old/guicast/bcscrollbar.h  2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/bcscrollbar.h  2002-10-12 18:20:36.000000000 -0400
+@@ -31,7 +31,7 @@
+               long handlelength);
+       virtual ~BC_ScrollBar();
+ 
+-      friend BC_ListBox;
++      friend class BC_ListBox;
+ 
+       virtual int handle_event() { return 0; };
+       int initialize();
+diff -ur old/guicast/bcslider.h new/guicast/bcslider.h
+--- old/guicast/bcslider.h     2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/bcslider.h     2002-10-12 18:37:52.000000000 -0400
+@@ -21,9 +21,9 @@
+               int use_caption);
+       virtual ~BC_Slider();
+ 
+-      friend BC_ISlider;
+-      friend BC_FSlider;
+-      friend BC_PercentageSlider;
++      friend class BC_ISlider;
++      friend class BC_FSlider;
++      friend class BC_PercentageSlider;
+ 
+       virtual int handle_event() { return 0; };
+ 
+@@ -115,7 +115,7 @@
+                       int use_caption = 0,
+                       VFrame **data = 0);
+ 
+-      friend BC_PercentageSlider;
++      friend class BC_PercentageSlider;
+ 
+       int update(float value);
+       int update(int pointer_motion_range, float value, float minvalue, float maxvalue);
+diff -ur old/guicast/bctextbox.h new/guicast/bctextbox.h
+--- old/guicast/bctextbox.h    2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/bctextbox.h    2002-10-12 18:33:46.000000000 -0400
+@@ -101,8 +101,8 @@
+       void update_list(ArrayList<BC_ListBoxItem*> *data);
+       void reposition_window(int x, int y);
+ 
+-      friend BC_PopupTextBoxText;
+-      friend BC_PopupTextBoxList;
++      friend class BC_PopupTextBoxText;
++      friend class BC_PopupTextBoxList;
+ 
+ private:
+       int x, y, text_w, list_h;
+@@ -153,8 +153,8 @@
+       int get_h();
+       void set_boundaries(long min, long max);
+       
+-      friend BC_TumbleTextBoxText;
+-      friend BC_TumbleTextBoxTumble;
++      friend class BC_TumbleTextBoxText;
++      friend class BC_TumbleTextBoxTumble;
+ 
+ private:
+       int x, y, text_w;
+diff -ur old/guicast/bcwindowbase.h new/guicast/bcwindowbase.h
+--- old/guicast/bcwindowbase.h 2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/bcwindowbase.h 2002-10-12 18:17:35.000000000 -0400
+@@ -62,35 +62,35 @@
+       BC_WindowBase();
+       virtual ~BC_WindowBase();
+ 
+-      friend BC_Bitmap;
+-      friend BC_Button;
+-      friend BC_GenericButton;
+-      friend BC_Capture;
+-      friend BC_Clipboard;
+-      friend BC_DragWindow;
+-      friend BC_FileBox;
+-      friend BC_ListBox;
+-      friend BC_Menu;
+-      friend BC_MenuBar;
+-      friend BC_MenuItem;
+-      friend BC_MenuPopup;
+-      friend BC_Meter;
+-      friend BC_Pan;
+-      friend BC_Pixmap;
+-      friend BC_Popup;
+-      friend BC_PopupMenu;
+-      friend BC_Pot;
+-      friend BC_ProgressBar;
+-      friend BC_Repeater;
+-      friend BC_Resources;
+-      friend BC_ScrollBar;
+-      friend BC_Slider;
+-      friend BC_SubWindow;
+-      friend BC_TextBox;
+-      friend BC_Title;
+-      friend BC_Toggle;
+-      friend BC_Tumbler;
+-      friend BC_Window;
++      friend class BC_Bitmap;
++      friend class BC_Button;
++      friend class BC_GenericButton;
++      friend class BC_Capture;
++      friend class BC_Clipboard;
++      friend class BC_DragWindow;
++      friend class BC_FileBox;
++      friend class BC_ListBox;
++      friend class BC_Menu;
++      friend class BC_MenuBar;
++      friend class BC_MenuItem;
++      friend class BC_MenuPopup;
++      friend class BC_Meter;
++      friend class BC_Pan;
++      friend class BC_Pixmap;
++      friend class BC_Popup;
++      friend class BC_PopupMenu;
++      friend class BC_Pot;
++      friend class BC_ProgressBar;
++      friend class BC_Repeater;
++      friend class BC_Resources;
++      friend class BC_ScrollBar;
++      friend class BC_Slider;
++      friend class BC_SubWindow;
++      friend class BC_TextBox;
++      friend class BC_Title;
++      friend class BC_Toggle;
++      friend class BC_Tumbler;
++      friend class BC_Window;
+ 
+ // Main loop
+       int run_window();
+Only in new/guicast: i686
+diff -ur old/guicast/vframe.h new/guicast/vframe.h
+--- old/guicast/vframe.h       2001-05-19 23:02:39.000000000 -0400
++++ new/guicast/vframe.h       2002-10-12 18:18:18.000000000 -0400
+@@ -32,7 +32,7 @@
+       VFrame();
+       ~VFrame();
+ 
+-      friend PngReadFunction;
++      friend class PngReadFunction;
+ 
+ // Reallocate a frame without deleting the class
+       int reallocate(unsigned char *data, 
+Only in new/libmpeg3: i686
+Only in new/libsndfile/i686: libsndfile.a
+Only in new/quicktime: i686
+diff -ur old/xmovie/fileavi.C new/xmovie/fileavi.C
+--- old/xmovie/fileavi.C       2001-05-19 23:02:37.000000000 -0400
++++ new/xmovie/fileavi.C       2002-10-12 18:39:16.000000000 -0400
+@@ -1,4 +1,5 @@
+ #ifdef USE_AVI
++using namespace std;
+ #include "asset.h"
+ #include "avifile.h"
+ #include "clip.h"
+Only in new/xmovie: i686
diff --git a/media-video/xmovie/xmovie-1.8-r4.ebuild b/media-video/xmovie/xmovie-1.8-r4.ebuild
new file mode 100644 (file)
index 0000000..0c2be49
--- /dev/null
@@ -0,0 +1,43 @@
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-video/xmovie/xmovie-1.8-r4.ebuild,v 1.1 2002/10/21 08:56:21 mkennedy Exp $
+
+S=${WORKDIR}/${P}
+DESCRIPTION="A Player for MPEG and Quicktime movies"
+SRC_URI="http://heroinewarrior.com/${P}.tar.gz"
+HOMEPAGE="http://heroines.sourceforge.net/"
+
+RDEPEND="virtual/x11
+       =dev-libs/glib-1.2*
+       >=media-libs/libpng-1.2.1"
+
+DEPEND="${RDEPEND}
+       >=dev-lang/nasm-0.98"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="x86"
+
+src_unpack() {
+       unpack ${A}
+       # gcc3.2 fix (from bug #7227)
+       cd ${S} && patch -p1 <${FILESDIR}/xmovie-gcc3-gentoo.patch || die 
+}
+
+src_compile() {
+       local myconf
+       use mmx || myconf="${myconf} --no-mmx"
+    
+       ./configure ${myconf} || die
+       emake || die
+
+}
+
+src_install () {
+
+    into /usr
+    dobin xmovie/`uname -m`/xmovie
+    dodoc README
+    dohtml docs/*.html
+
+}