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