¿Cómo asegurarse de que el filtro de captura de muestra no genere más devoluciones de llamada al cerrar mi gráfico de filtro directo?

StackOverflow https://stackoverflow.com/questions/8323334

Pregunta

Tengo una aplicación directa escrita en Delphi 6 utilizando la biblioteca de componentes dspack. Cuando cierro mis gráficos de filtro (parar reproducido), obtengo una violación de acceso debido a una devolución de llamada del filtro de Samper DirectShow que ocurre después del objeto que posee el método de devolución de llamada ha sido destruido. No sucede cada vez, pero con bastante frecuencia. ¿Alguien puede señalarme una muestra o documento de código que me diga los pasos que necesito para cerrar mis gráficos de una manera que se asegure de que todas las devoluciones de llamada de muestra pendientes hayan sido recibidas o eliminadas?

¿Fue útil?

Solución

¿Qué hay de la emisión? ISampleGrabber::SetCallback(NULL, ... ¿Antes de detener/liberar el gráfico del filtro?

Más a esto, puede establecer un indicador interno que indique la terminación y verificarlo en las devoluciones de llamada que debe regresar de inmediato sin procesamiento adicional.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top