Commit c1a4acde authored by Maarten Lankhorst's avatar Maarten Lankhorst Committed by Alexandre Julliard

quartz: Add more seek entries and fix a time continuity bug.

parent 9d9bf6f1
......@@ -53,7 +53,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(quartz);
#define MPEG_AUDIO_HEADER 1
#define MPEG_NO_HEADER 0
#define SEEK_INTERVAL (ULONGLONG)(30 * 10000000) /* Add an entry every 30 seconds */
#define SEEK_INTERVAL (ULONGLONG)(10 * 10000000) /* Add an entry every 10 seconds */
struct seek_entry {
ULONGLONG bytepos;
......@@ -216,6 +216,7 @@ static HRESULT FillBuffer(MPEGSplitterImpl *This, BYTE** fbuf, DWORD *flen, IMed
if (This->remaining_bytes)
{
DWORD towrite = min(This->remaining_bytes, *flen);
LONGLONG foo;
hr = copy_data(pCurrentSample, fbuf, flen, towrite);
if (FAILED(hr))
......@@ -228,6 +229,11 @@ static HRESULT FillBuffer(MPEGSplitterImpl *This, BYTE** fbuf, DWORD *flen, IMed
if (This->remaining_bytes)
return hr;
/* Restore the time in the time variable. This->position now points
* to the NEW timestamp which is slightly off
*/
IMediaSample_GetTime(pCurrentSample, &time, &foo);
/* Optimize: Try appending more samples to the stream */
goto out_append;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment