hi,

attached patches allows use external keyer with decklink (i.e. decklink outputs fill+key signal).

for use external keyer, consumer option *keyer* should be set to value *2*:

# enable external keyer:
USET u0 consumer.keyer=2

# enable internal keyer:
USET u0 consumer.keyer=1

--
________________________________________
Maksym Veremeyenko
>From 0c4bbf3c4ebe99a21613f80d6b92bd499e4f2b98 Mon Sep 17 00:00:00 2001
From: Maksym Veremeyenko <[email protected]>
Date: Fri, 3 Jun 2011 15:00:09 +0300
Subject: [PATCH 1/2] enable external keyer for decklink consumer

---
 src/modules/decklink/consumer_decklink.cpp |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/modules/decklink/consumer_decklink.cpp b/src/modules/decklink/consumer_decklink.cpp
index a18486f..b3142a5 100644
--- a/src/modules/decklink/consumer_decklink.cpp
+++ b/src/modules/decklink/consumer_decklink.cpp
@@ -101,7 +101,7 @@ private:
 	mlt_frame                   m_frame;
 	unsigned                    m_dropped;
 	bool                        m_isAudio;
-	bool                        m_isKeyer;
+	int                         m_isKeyer;
 	IDeckLinkKeyer*             m_deckLinkKeyer;
 
 	IDeckLinkDisplayMode* getDisplayMode()
@@ -241,7 +241,7 @@ public:
 		// Set the keyer
 		if ( m_deckLinkKeyer && ( m_isKeyer = mlt_properties_get_int( properties, "keyer" ) ) )
 		{
-			bool external = false;
+			bool external = (m_isKeyer == 2);
 			double level = mlt_properties_get_double( properties, "keyer_level" );
 
 			if ( m_deckLinkKeyer->Enable( external ) != S_OK )
-- 
1.7.4.4

>From a89cd4116d778771bb60a9b3a238f616e63b13eb Mon Sep 17 00:00:00 2001
From: Maksym Veremeyenko <[email protected]>
Date: Fri, 3 Jun 2011 15:02:46 +0300
Subject: [PATCH 2/2] fix error message on enabling keyer

---
 src/modules/decklink/consumer_decklink.cpp |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/modules/decklink/consumer_decklink.cpp b/src/modules/decklink/consumer_decklink.cpp
index b3142a5..8de764e 100644
--- a/src/modules/decklink/consumer_decklink.cpp
+++ b/src/modules/decklink/consumer_decklink.cpp
@@ -245,7 +245,8 @@ public:
 			double level = mlt_properties_get_double( properties, "keyer_level" );
 
 			if ( m_deckLinkKeyer->Enable( external ) != S_OK )
-				mlt_log_error( getConsumer(), "Failed to enable keyer\n" );
+				mlt_log_error( getConsumer(), "Failed to enable %s keyer\n",
+					external ? "external" : "internal" );
 			m_deckLinkKeyer->SetLevel( level <= 1 ? ( level > 0 ? 255 * level : 255 ) : 255 );
 			m_preroll = 0;
 			m_isAudio = false;
-- 
1.7.4.4

------------------------------------------------------------------------------
Simplify data backup and recovery for your virtual environment with vRanger.
Installation's a snap, and flexible recovery options mean your data is safe,
secure and there when you need it. Discover what all the cheering's about.
Get your free trial download today. 
http://p.sf.net/sfu/quest-dev2dev2 
_______________________________________________
Mlt-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mlt-devel

Reply via email to