Aric Stewart : wineqtdecoder: Implement a stub for DataHPlaybackHints64.
Alexandre Julliard
julliard at winehq.org
Fri May 18 14:09:16 CDT 2012
Module: wine
Branch: master
Commit: 6c51c1ba1310707a6380cac66aeb06b3f2f3994a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=6c51c1ba1310707a6380cac66aeb06b3f2f3994a
Author: Aric Stewart <aric at codeweavers.com>
Date: Fri May 18 09:25:17 2012 -0500
wineqtdecoder: Implement a stub for DataHPlaybackHints64.
---
dlls/wineqtdecoder/qtdatahandler.c | 31 +++++++++++++++++++++++++++++--
1 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/dlls/wineqtdecoder/qtdatahandler.c b/dlls/wineqtdecoder/qtdatahandler.c
index cd32077..f09014c 100644
--- a/dlls/wineqtdecoder/qtdatahandler.c
+++ b/dlls/wineqtdecoder/qtdatahandler.c
@@ -406,6 +406,22 @@ static pascal ComponentResult myDataHPlaybackHints(DataHandler dh, long flags,
return noErr;
}
+static pascal ComponentResult myDataHPlaybackHints64(DataHandler dh, long flags,
+ wide *minFileOffset, wide *maxFileOffset,
+ long bytesPerSecond)
+{
+ if (TRACE_ON(qtdatahandler))
+ {
+ SInt64 minFileOffset64 = WideToSInt64(*minFileOffset);
+ LONGLONG minFileOffsetLL = minFileOffset64;
+ SInt64 maxFileOffset64 = WideToSInt64(*maxFileOffset);
+ LONGLONG maxFileOffsetLL = maxFileOffset64;
+
+ TRACE("%s %s %li\n",wine_dbgstr_longlong(minFileOffsetLL), wine_dbgstr_longlong(maxFileOffsetLL), bytesPerSecond);
+ }
+ return noErr;
+}
+
static pascal ComponentResult myDataHGetFileSize64(DataHandler dh, wide * fileSize)
{
Handle storage = GetComponentInstanceStorage(dh);
@@ -480,7 +496,7 @@ static pascal ComponentResult myDataHScheduleData64( DataHandler dh,
LONGLONG offset = fileOffset64;
BYTE* buffer = (BYTE*)PlaceToPutDataPtr;
- TRACE("%p %p %lli %li %li %p %p\n",dh, PlaceToPutDataPtr, offset, DataSize, RefCon, scheduleRec, CompletionRtn);
+ TRACE("%p %p %s %li %li %p %p\n",dh, PlaceToPutDataPtr, wine_dbgstr_longlong(offset), DataSize, RefCon, scheduleRec, CompletionRtn);
hr = IAsyncReader_SyncRead(data->dataRef.pReader, offset, DataSize, buffer);
TRACE("result %x\n",hr);
@@ -685,7 +701,14 @@ static const struct { LPVOID proc; ProcInfoType type;} componentFunctions_2[] =
| STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(unsigned long)))
| STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(long)))
}, /* kDataHPlaybackHintsSelect 0x103 */
- {NULL, 0}, /* kDataHPlaybackHints64Select 0x10E */
+ {myDataHPlaybackHints64, kPascalStackBased
+ | RESULT_SIZE(SIZE_CODE(sizeof(ComponentResult)))
+ | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(DataHandler)))
+ | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long)))
+ | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(wide*)))
+ | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(wide*)))
+ | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(long)))
+}, /* kDataHPlaybackHints64Select 0x10E */
{NULL, 0}, /* kDataHGetDataRateSelect 0x110 */
{NULL, 0}, /* kDataHSetTimeHintsSelect 0x111 */
};
@@ -726,6 +749,8 @@ static pascal ComponentResult myComponentCanDo(ComponentInstance ci, SInt16 ftnN
return TRUE;
if (ftnNumber == kDataHPlaybackHintsSelect)
return TRUE;
+ if (ftnNumber == kDataHPlaybackHints64Select)
+ return TRUE;
if (ftnNumber > kDataHGetDataAvailability64Select)
return FALSE;
TRACE("impl? %i\n",(componentFunctions[ftnNumber].proc != NULL));
@@ -758,6 +783,8 @@ static pascal ComponentResult myComponentRoutineProc ( ComponentParameters * cp,
return callOurFunction(myComponentCanDo, uppCallComponentCanDoProcInfo, cp);
case kDataHPlaybackHintsSelect:
return callOurFunction(componentFunctions_2[0].proc, componentFunctions_2[0].type, cp);
+ case kDataHPlaybackHints64Select:
+ return callOurFunction(componentFunctions_2[1].proc, componentFunctions_2[1].type, cp);
}
if (cp->what > 0 && cp->what <=kDataHGetDataAvailability64Select && componentFunctions[cp->what].proc)
More information about the wine-cvs
mailing list