From: Dan Dennedy Date: Wed, 1 Jun 2011 04:55:38 +0000 (-0700) Subject: Let decklink run forever. X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=afc719a65d73b8866392e4de90837cf2a56e8743;p=mlt Let decklink run forever. Also fix setting resource property. --- diff --git a/src/modules/decklink/producer_decklink.cpp b/src/modules/decklink/producer_decklink.cpp index 0645bee4..f4ab5da2 100644 --- a/src/modules/decklink/producer_decklink.cpp +++ b/src/modules/decklink/producer_decklink.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include "DeckLinkAPI.h" class DeckLinkProducer @@ -383,15 +384,19 @@ mlt_producer producer_decklink_init( mlt_profile profile, mlt_service_type type, if ( decklink->open( profile, arg? atoi( arg ) : 0 ) ) { producer = decklink->getProducer(); + mlt_properties properties = MLT_PRODUCER_PROPERTIES( producer ); // Set callbacks producer->close = (mlt_destructor) producer_close; producer->get_frame = get_frame; // Set properties - mlt_properties_set( MLT_PRODUCER_PROPERTIES( producer ), "resource", arg ); - mlt_properties_set_int( MLT_PRODUCER_PROPERTIES( producer ), "channels", 2 ); - mlt_properties_set_int( MLT_PRODUCER_PROPERTIES( producer ), "buffer", 25 ); + mlt_properties_set( properties, "resource", arg? arg : "0" ); + mlt_properties_set_int( properties, "channels", 2 ); + mlt_properties_set_int( properties, "buffer", 25 ); + mlt_properties_set_int( properties, "length", INT_MAX ); + mlt_properties_set_int( properties, "out", INT_MAX - 1 ); + mlt_properties_set( properties, "eof", "loop" ); // Start immediately if ( !decklink->start( profile ) )