Re: GMFBridge EOS Problem

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance




On Tue, 15 Dec 2009 09:02:20 -0800 (PST), Cyborg
<sirhaden@xxxxxxxxxxx> wrote:

I'm having a problem with EOS while using the bridge. I have an input
graph that consists of a source filter, parser/demux/decoder filter,
and then the bridge sink filter. The output graph has the bridge
source filter followed by the DV encoder, avi mux and file writer
filters.

The problem occurs when the parser/demux/decoder filter detects the
EOS (on a worker thread) and calls DeliverEndOfStream on both the
audio and video output pins. Only one of the bridge sink's input pins
gets the EndOfStream method called. This results in the
BridgeSink::OnEOS method only getting called once where the first EOS
is discarded. OnEOS does not get called a second time to invoke the
BridgeController's OnEndOfSegment method.

The parser/demux/decoder filter uses the COutputQueue class on it's
output pins and each output queue does queue a EOS_PACKET. I'm not
sure why BridgeSinkInput::EndOfStream is called on only one of the
bridge sink filter's input pins. It appears that one of the output
queue instances on the upstream filter's pins is not processing an
EOS_PACKET.

I guess that the EOS has not reached the sink pin because there is a
queue of buffers waiting. These buffers are being held up by the mux,
waiting for more data from the other stream, which is at EOS. In a
single graph, the first EOS would reach the mux and tell it to finish
off without waiting for more data to balance the streams.

Here, I think you need to increase the buffering at the bridge so that
you can get all your data into buffers downstream of the bridge, even
with a disparity between the streams.

G
.



Relevant Pages

  • Re: PF, bridge, states and window scaling problem
    ... My problem comes with the filter rules. ... the bridge use TCP window scaling. ... but not matched by the rest of the packets ... statefull firewall has an unpredictable behaviour on bridges. ...
    (freebsd-questions)
  • GMFBridge EOS Problem
    ... I'm having a problem with EOS while using the bridge. ... graph that consists of a source filter, parser/demux/decoder filter, ... The problem occurs when the parser/demux/decoder filter detects the ... Only one of the bridge sink's input pins ...
    (microsoft.public.win32.programmer.directx.video)
  • Re: more on pfil and bridging
    ... Instead of the bridge registering a separate filter queue for itself, ... bridged packets as "normal" L2 packets. ...
    (freebsd-net)
  • Re: PF, bridge, states and window scaling problem
    ... My problem comes with the filter rules. ... the bridge use TCP window scaling. ... pass out quick on vlan0 from anIP/32 to any keep state queue ul_client ... Try adding the flags switch as mentioned above. ...
    (freebsd-questions)
  • Re: more on pfil and bridging
    ... Instead of the bridge registering a separate filter queue for itself, ... It should register its own stack and each filter type should ... Ather and bridge need to be distinguishable. ... bridged packets as "normal" L2 packets. ...
    (freebsd-net)