On 9/22/11 8:01 AM, Aviad Rozenhek wrote:
+static AVIOInterruptContext avio_interrupt_context_default = {
+ .should_interrupt = 0,
+ .interrupt_check = avio_interrupt_check_default,
+ .interrupt_mark = avio_interrupt_mark_default,
+ .interrupt_mark_all = avio_interrupt_mark_all_default,
+ .interrupt_close = NULL,
+};
+
+static AVIOInterruptContext* avio_interrupt_context
=&avio_interrupt_context_default;
+
+
+void avio_interrupt_set(AVIOInterruptContext* ctx)
+{
+ AVIOInterruptContext* old = avio_interrupt_context;
+ avio_interrupt_context = ctx? ctx :&avio_interrupt_context_default;
+ if(old->interrupt_close)
+ old->interrupt_close(old);
+}
+
+int avio_interrupt_check(URLContext* h)
+{
+ return avio_interrupt_context->interrupt_check(avio_interrupt_context, h);
+}
+
+void avio_interrupt_mark(URLContext* h)
+{
+ avio_interrupt_context->interrupt_mark(avio_interrupt_context, h);
+}
+
+void avio_interrupt_mark_all(void)
+{
+ avio_interrupt_context->interrupt_mark_all(avio_interrupt_context);
+}
+
looks a bit complex. what about doing the same way logging is done instead?
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel