X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fframework%2Fmlt_service.c;h=92018657fc1baa5528d748001305321cce3101e5;hb=9c7b399431ffc490bf0dac9833a301f76f433623;hp=aedc6effb96801d71a6f0b748da4e20b13dc21b2;hpb=bf3264b9e340ba5c11cbf59835a8af3db94e0cc2;p=melted diff --git a/src/framework/mlt_service.c b/src/framework/mlt_service.c index aedc6ef..9201865 100644 --- a/src/framework/mlt_service.c +++ b/src/framework/mlt_service.c @@ -18,7 +18,6 @@ * 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" @@ -124,13 +123,11 @@ mlt_service_type mlt_service_identify( mlt_service this ) char *resource = mlt_properties_get( properties, "resource" ); if ( mlt_type == NULL ) type = unknown_type; - else if ( resource == NULL || !strcmp( resource, "" ) ) - type = producer_type; - else if ( !strcmp( resource, "" ) ) + else if (resource != NULL && !strcmp( resource, "" ) ) type = playlist_type; - else if ( !strcmp( resource, "" ) ) + else if (resource != NULL && !strcmp( resource, "" ) ) type = tractor_type; - else if ( !strcmp( resource, "" ) ) + else if (resource != NULL && !strcmp( resource, "" ) ) type = multitrack_type; else if ( !strcmp( mlt_type, "producer" ) ) type = producer_type; @@ -304,7 +301,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; } @@ -389,7 +386,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 +486,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. */