11.06.11 18:59, Maksym Veremeyenko написав(ла):
Hi,

next e-mails will be attached with a patches makes (IMHO) more
comfortable work with rugen.
[...]
*0006-fix-eof-getting-per-unit.patch* - fix eof status getting per unit....




--
________________________________________
Maksym Veremeyenko
>From 08ee495a47cc71719b65d95a18ed05015716685c Mon Sep 17 00:00:00 2001
From: Maksym Veremeyenko <ve...@m1stereo.tv>
Date: Sat, 11 Jun 2011 18:55:51 +0300
Subject: [PATCH 6/6] fix eof getting per unit

---
 src/dv1394app.c   |   10 ++++++----
 src/dv1394app.h   |    2 +-
 src/page_status.c |    9 +++++----
 3 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/src/dv1394app.c b/src/dv1394app.c
index c462b50..6d0487b 100644
--- a/src/dv1394app.c
+++ b/src/dv1394app.c
@@ -244,12 +244,12 @@ static gboolean on_transport_pressed( GtkWidget *button, gpointer data )
 		
 		case 11:
 			mvcp_unit_set( dv, unit, "eof", "loop");
-			this->eof = 0;
+			this->eof[this->selected_unit] = 0;
 			break;
 
 		case 12:
 			mvcp_unit_set( dv, unit, "eof", "pause");
-			this->eof = 0;
+			this->eof[this->selected_unit] = 0;
 			break;
 
 		default:
@@ -316,8 +316,10 @@ void dv1394app_show_status( dv1394app this, mvcp_status status )
 		gtk_signal_emit_by_name( GTK_OBJECT(trim_adj[TRIM_ADJ_POS]), "value_changed" );
 	}
 
-	gtk_widget_set_sensitive( lookup_widget( dv1394app_get_widget( this ), "transport_11" ), this->eof == 'p' );
-	gtk_widget_set_sensitive( lookup_widget( dv1394app_get_widget( this ), "transport_12" ), this->eof == 'l' );
+	gtk_widget_set_sensitive( lookup_widget( dv1394app_get_widget( this ), "transport_11" ),
+		this->eof[this->selected_unit] == 'p' );
+	gtk_widget_set_sensitive( lookup_widget( dv1394app_get_widget( this ), "transport_12" ),
+		this->eof[this->selected_unit] == 'l' );
 }
 
 static gboolean trim_pressed( GtkWidget *button, GdkEventButton *event, gpointer user_data )
diff --git a/src/dv1394app.h b/src/dv1394app.h
index ae411c5..4243601 100644
--- a/src/dv1394app.h
+++ b/src/dv1394app.h
@@ -48,7 +48,7 @@ typedef struct
 	int trim_in;
 	int trim_out;
 	int guard;
-	int eof;
+	int eof[16];
 }
 *dv1394app, dv1394app_t;
 
diff --git a/src/page_status.c b/src/page_status.c
index 1047ec6..c0864fd 100644
--- a/src/page_status.c
+++ b/src/page_status.c
@@ -217,14 +217,15 @@ static void *status_thread( void *arg )
 
 			if ( status.status == unit_disconnected )
 			{
-				this->app->eof = 0;
+				this->app->eof[this->app->selected_unit] = 0;
 				break;
 			}
+			if ( !this->app->eof[this->app->selected_unit] &&
+				mvcp_unit_get( this->app->command, this->app->selected_unit,
+				"eof", buf, sizeof(buf) ) != -1)
+					this->app->eof[this->app->selected_unit] = buf[0];
 			if ( show_status( this, &status ) )
 				show_units( this, TRUE );
-			if ( !this->app->eof && mvcp_unit_get( this->app->command, this->app->selected_unit,
-				"eof", buf, sizeof(buf) ) != -1)
-					this->app->eof = buf[0];
 		}
 	}
 
-- 
1.7.4.4

------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
Mlt-devel mailing list
Mlt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlt-devel

Reply via email to