1. I modified the IWMWriterAdvanced:: WriteStreamSample() fn's last parameter
as 0.( It Indicates the KeyFrame).
But I didnt get any display in Windows media player, but I got like
Buffer 98% complete...After certain interval it shows status as
Buffer 96% complete...
But It doesnt Display anything in media player.
2. How to change frame rate using the Transform Filter ? Is it Possible ?
yes it is possible.
Within FillBuffer() of the Source Filter we will Set the Frame rate ..
Just refer the PushSourceDesktop Filters. There we set the frame rate dynamically.
So it is also possible to change the frame rate thru transform filter.
We need to Set the Output Media Sample's StartTime and EndTime properly to achieve the specified frame rate.
Showing posts with label HTTP. Show all posts
Showing posts with label HTTP. Show all posts
Friday, December 14, 2007
HTTPStream Rendering problem
HTTPStream Rendering problem :
---------------------------------
I have developed the transform filter for writing the WMV
data to the HTTP Stream.It is writing data properly .
But If I render the video thru windows media player by specifying URL,
It doesnt render data properly.
But Windows media player Shows the status like
Buffer 99% complete
Playing 302Kb/s
But it doesnt render anything on the screen.
Solution :
-------------
Previously I set the KeyFrame for every 60 frames...
I used the wmvnetwrite sample application for testing.
It is sending wmv data to the HTTp stream. For any wmv file, It has OnStreamSample() callback fn
For Every frame, it will calls this function.
within this function, I checked the last parameter( KeyFrame flag), if it is true,
then I will print the Key FrameFound and the frameNumber in debug string.
I noted one thing. Key Frame is in some random order.
So I set the keyframe for every 4 frames. Now it is working.
without WM_SF_CLEANPOINT(Indicates KeyFrame), windows media player will not render data properly.
How can we identify the Key Frames within a filter ?...
---------------------------------
I have developed the transform filter for writing the WMV
data to the HTTP Stream.It is writing data properly .
But If I render the video thru windows media player by specifying URL,
It doesnt render data properly.
But Windows media player Shows the status like
Buffer 99% complete
Playing 302Kb/s
But it doesnt render anything on the screen.
Solution :
-------------
Previously I set the KeyFrame for every 60 frames...
I used the wmvnetwrite sample application for testing.
It is sending wmv data to the HTTp stream. For any wmv file, It has OnStreamSample() callback fn
For Every frame, it will calls this function.
within this function, I checked the last parameter( KeyFrame flag), if it is true,
then I will print the Key FrameFound and the frameNumber in debug string.
I noted one thing. Key Frame is in some random order.
So I set the keyframe for every 4 frames. Now it is working.
without WM_SF_CLEANPOINT(Indicates KeyFrame), windows media player will not render data properly.
How can we identify the Key Frames within a filter ?...
Subscribe to:
Posts (Atom)