Video Renderer problem on CE6



Hello,

This problem has bothered me for a long time, and I have no any idea...
Could you kindly help this? thanks!

I have some trouble in porting transform filter in CE6:

source filter ---> transform filter --> video renderer

The transform filter uses the default media sample allocator from input pin
of video renderer.

Here is the code snippets:

Receive(IMediaSample *pSample)
{
...
m_pOutput->GetDeliveryBuffer(&m_pOut, NULL, NULL, 0));
m_pOut->GetPointer((BYTE**)&m_dec.image);
...
}

Two media samples are allocated totally in this project.

In CE6, this transform filter is used to playing media file in CE media
player.
Normally, This transform filter can work correctly. That means the media
sample buffer address(m_dec.image) can be retrieved correctly.
It alternates between the two allocated media sample addresses.

But, in some special cases m_dec.image is NOT retrieved correctly:

CASE 1.
When playing media file is compeleted, click PLAY button to play it again
manually without restarting media player. The address of media sample,
m_dec.image, is not correctly. That means, it is not either of two media
sample addresses.

BUT, if let media player to play repeatedly automatically by choosing
"Repeat" in the menu, it will work correctly!

CASE 2.
When playing media file, drag player window and move down until the taskbar
overlays the titlebar of player. The address of media sample, m_dec.image
cannot be retrieved correctly again suddenly!

thanks!
.