Hello!
I'm not sure, whether it is FFDShow problem, actually, i think, i'm doing something wrong.
I'm currently working on DirectShow RTSP source filter, and now i can successfully connect to the video streaming source, acquire stream parameters, provide h.264 frames upstream (already assembled as AVC1 coded frames).
For test purposes i use the following graph:
MyRTSPSourceFilter -> Analyzer Filter -> FFDShow Video decoder -> Enhanced Video Renderer
Often rendered image contains artifacts, like squares, the result of losing frames.
Enhanced video renderer shows, that framerate is 1-2 fps below actual stream framerate.
Also, my source filter output pin gets notifications via IQualityControl::Notify method, stating, that decoder faces "Flood" state, so i assume, that it is unable to process frames with that speed.
My stream source is IP-camera in local network, so there is vary small chance of packet losses. I tried different video resolutions and framerates, and also tried swithcing to different h.264 profiles, but the result was the same.
I'm looking for some advice:
Could be video artifacts and Flood state connected? How should source filter react on Flood or Famine state in that case?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello!
I'm not sure, whether it is FFDShow problem, actually, i think, i'm doing something wrong.
I'm currently working on DirectShow RTSP source filter, and now i can successfully connect to the video streaming source, acquire stream parameters, provide h.264 frames upstream (already assembled as AVC1 coded frames).
For test purposes i use the following graph:
MyRTSPSourceFilter -> Analyzer Filter -> FFDShow Video decoder -> Enhanced Video Renderer
Often rendered image contains artifacts, like squares, the result of losing frames.
Enhanced video renderer shows, that framerate is 1-2 fps below actual stream framerate.
Also, my source filter output pin gets notifications via IQualityControl::Notify method, stating, that decoder faces "Flood" state, so i assume, that it is unable to process frames with that speed.
My stream source is IP-camera in local network, so there is vary small chance of packet losses. I tried different video resolutions and framerates, and also tried swithcing to different h.264 profiles, but the result was the same.
I'm looking for some advice:
Could be video artifacts and Flood state connected? How should source filter react on Flood or Famine state in that case?