X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fframework%2Fmlt_service.c;h=4c978865a5f84fa5e9296dcf498b4876f4a63630;hb=407f72e8c783f126b60fcfc53f0a790f3aaee636;hp=75e598cc93feea4eea2580e5e3bded776105e186;hpb=df833610f58161f108b0c1f98c1e3705731e42ff;p=melted diff --git a/src/framework/mlt_service.c b/src/framework/mlt_service.c index 75e598c..4c97886 100644 --- a/src/framework/mlt_service.c +++ b/src/framework/mlt_service.c @@ -3,22 +3,21 @@ * Copyright (C) 2003-2004 Ushodaya Enterprises Limited * Author: Charles Yates * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. * - * This program is distributed in the hope that it will be useful, + * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include "config.h" #include "mlt_service.h" #include "mlt_filter.h" #include "mlt_frame.h" @@ -304,7 +303,7 @@ static int service_get_frame( mlt_service this, mlt_frame_ptr frame, int index ) if ( producer != NULL ) return mlt_service_get_frame( producer, frame, index ); } - *frame = mlt_frame_init( ); + *frame = mlt_frame_init( this ); return 0; } @@ -339,7 +338,7 @@ void mlt_service_apply_filters( mlt_service this, mlt_frame frame, int index ) mlt_position in = mlt_filter_get_in( base->filters[ i ] ); mlt_position out = mlt_filter_get_out( base->filters[ i ] ); int disable = mlt_properties_get_int( MLT_FILTER_PROPERTIES( base->filters[ i ] ), "disable" ); - if ( !disable && ( in == 0 && out == 0 ) || ( position >= in && ( position <= out || out == 0 ) ) ) + if ( !disable && ( ( in == 0 && out == 0 ) || ( position >= in && ( position <= out || out == 0 ) ) ) ) { mlt_properties_set_position( frame_properties, "in", in == 0 ? this_in : in ); mlt_properties_set_position( frame_properties, "out", out == 0 ? this_out : out ); @@ -389,7 +388,7 @@ int mlt_service_get_frame( mlt_service this, mlt_frame_ptr frame, int index ) // Make sure we return a frame if ( *frame == NULL ) - *frame = mlt_frame_init( ); + *frame = mlt_frame_init( this ); // Unlock the service mlt_service_unlock( this ); @@ -489,6 +488,14 @@ mlt_filter mlt_service_filter( mlt_service this, int index ) return filter; } +/** Retrieve the profile. +*/ + +mlt_profile mlt_service_profile( mlt_service this ) +{ + return mlt_properties_get_data( MLT_SERVICE_PROPERTIES( this ), "_profile", NULL ); +} + /** Close the service. */