2010-12-28 9 views
0

Ich versuche, Rohdaten (sowohl Video Frame und Audio Sample) in. ASF-Datei zu verschlüsseln, mit Asf Writer-Filter in DirectShow. Meine Filtergraphstruktur: raw_send_filter -> asf writer filter raw_send_filter implementiert CBaseFilter und CBaseOutputPin. Es spielt eine Rolle als Quellfilter, der Rohdaten erhält und sie dann an ASF-Writer-Filter liefert. Das Verfahren folgt vor:Problem mit ASF-Writer

  1. Erhalten Puffer liefern (Rückkehr in die "Probe"), mit der Funktion CBaseOutputPin::GetDeliveryBuffer
  2. Sample-> GetPointer (&-Puffer);
  3. Set Zeitstempel (mit Frame-Rate = 30 fps)
  4. Probe liefern

Das Problem nach kodieren ist einige Rohdaten, ich nicht mehr liefern kann.

Ich kann AVI-Datei mit diesem Weg, mit Avi Mux-Filter. Kannst du mir sagen, warum ich nach der Kodierung keine Samples liefern kann?

Danke.

+0

Können Sie asf verschlüsseln, wenn Sie nur ein sehr kurzes Audio- und Videofragment senden? Zum Beispiel 100ms? – wimh

Antwort

0

Möglicherweise wartet der ASF-Multiplexer auf weitere Daten. Überprüfen Sie, ob Sie Audio und Video mit der gleichen Rate senden.