Description
-----------------------------------------
This submission makes two changes in the base
video renderer:
a) Allows derived renderer to disable decoding
on a separate thread, which is still the default
b) Allows derived renderer to specify whether or
not to use the optimized scheduler.
Files Modified
----------------------------------------
datatype/common/vidrend/vidrend.cpp
datatype/common/vidrend/pub/vidrend.h
Branches
----------------------------------------
HEAD only for now
Index: vidrend.cpp
============================================================
=======
RCS file: /cvsroot/datatype/common/vidrend/vidrend.cpp,v
retrieving revision 1.94
diff -u -w -u -w -r1.94 vidrend.cpp
--- vidrend.cpp 27 Feb 2007 22:33:52 -0000 1.94
+++ vidrend.cpp 12 Apr 2007 16:51:45 -0000
 -1143,9
+1143,12 
}
else
{
+ if (m_pDecoderPump)
+ {
m_pDecoderPump->Signal();
}
}
+ }
else
{
if (!m_pTimeSyncSmoother->IsBaseTimeSet())
 -1304,7
+1307,7 
ScheduleCallback(0);
}
- if (SUCCEEDED(retVal) && (m_pDecoderPump ==
NULL))
+ if (SUCCEEDED(retVal) && (m_pDecoderPump ==
NULL) &&
ShouldDecodeOnSeparateThread())
{
retVal = CreateInstanceCCF(CLSID_IHXPaceMaker,
(void**)&m_pDecoderPump, m_pContext);
if (SUCCEEDED(retVal))
 -1904,7
+1907,7 
HX_RELEASE(pPrefBuffer);
}
- if (pIHXInterruptSafe->IsInterruptSafe()
&& bUseOptimized)
+ if (pIHXInterruptSafe->IsInterruptSafe()
&& bUseOptimized &&
ShouldUseOptimizedScheduler())
{
HX_RELEASE(m_pOptimizedScheduler);
if (HXR_OK !=
Index: pub/vidrend.h
============================================================
=======
RCS file: /cvsroot/datatype/common/vidrend/pub/vidrend.h,v
retrieving revision 1.45
diff -u -w -u -w -r1.45 vidrend.h
--- pub/vidrend.h 12 Dec 2006 11:48:36 -0000
1.45
+++ pub/vidrend.h 12 Apr 2007 16:51:45 -0000
 -926,6
+926,9 
virtual const char* GetCodecFourCC(void);
+ virtual HXBOOL ShouldDecodeOnSeparateThread() {
return TRUE; }
+ virtual HXBOOL ShouldUseOptimizedScheduler() {
return TRUE; }
+
/*
* Renderer Configuration - must be callable any time
=============================================
Eric Hyche (ehyche real.com)
Technical Lead
RealNetworks, Inc.
_______________________________________________
Datatype-dev mailing list
Datatype-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/da
tatype-dev
|