diff --git a/veejay-current/veejay/Makefile.am b/veejay-current/veejay/Makefile.am index f3ca32cf..8b850a98 100644 --- a/veejay-current/veejay/Makefile.am +++ b/veejay-current/veejay/Makefile.am @@ -59,7 +59,7 @@ libveejay_la_LIBADD = -L$(top_builddir)/libOSC / -lOSC \ libveejay_la_LDFLAGS += ${SDL_LIBS} ${DIRECTFB_LIBS} ${PTHREAD_LIBS} ${FT_LDFLAGS} ${FT_LIBS} \ ${XML_LIBS} ${JPEG_LIBS} ${JACK_LIBS} ${UNICAP_LIBS} \ - ${FFMPEG_AVFORMAT_LIBS} ${FFMPEG_AVCODEC_LIBS} \ + ${FFMPEG_AVFORMAT_LIBS} ${FFMPEG_AVCODEC_LIBS} ${FFMPEG_SWSCALER_LIBS} \ ${LIBDV_LIBS} ${LIBM_LIBS} ${PIXBUF_LIBS} ${GL_LIBS} ${MJPEGTOOLS_LIBS} ${LIBQUICKTIME_LIBS} \ -DDYNAMIC -O3 -Wall -rdynamic diff --git a/veejay-current/veejay/liblavplayvj.c b/veejay-current/veejay/liblavplayvj.c index 6d18c359..b606383d 100644 --- a/veejay-current/veejay/liblavplayvj.c +++ b/veejay-current/veejay/liblavplayvj.c @@ -2086,7 +2086,19 @@ int veejay_init(veejay_t * info, int x, int y,char *arg, int def_tags, int full_ first_id = id; } } - if( first_id > 0 ) veejay_change_playback_mode(info,VJ_PLAYBACK_MODE_TAG,first_id); + if( vj_tag_exists( def_tags ) ) + { + veejay_msg(VEEJAY_MSG_INFO, "Playing video from requested capture device #%d",def_tags ); + veejay_change_playback_mode(info, VJ_PLAYBACK_MODE_TAG, def_tags ); + } + else + { + if( first_id > 0 ) + { + veejay_msg(VEEJAY_MSG_INFO, "Capture device #%d does not exist, using device #%d", def_tags, first_id ); + veejay_change_playback_mode(info,VJ_PLAYBACK_MODE_TAG,first_id); + } + } } else if(info->dummy->active && id <= 0) { diff --git a/veejay-current/veejay/veejay.c b/veejay-current/veejay/veejay.c index d6818de0..029a3384 100644 --- a/veejay-current/veejay/veejay.c +++ b/veejay-current/veejay/veejay.c @@ -52,6 +52,7 @@ static int auto_loop = 0; static int n_slots_ = 4; static int max_mem_ = 30; static int viewport = 0; +static int live =0; static void CompiledWith() { veejay_msg(VEEJAY_MSG_INFO,"Compilation flags:"); @@ -265,8 +266,8 @@ static void Usage(char *progname) "\t\t\t\t-C/--zoomcrop [top:bottom:left:right] (crop source before scaling)\n"); fprintf(stderr, " -V/--viewport \t\tStart with viewport\n"); - - + fprintf(stderr, + " -A/--all [num] \t\tStart with all capture devices, start with device \n"); fprintf(stderr," -q/--quit \t\t\tQuit at end of file\n"); fprintf(stderr,"\n\n"); } @@ -298,6 +299,9 @@ static int set_option(const char *name, char *value) veejay_set_colors(0); } else if (strcmp(name, "audio") == 0 || strcmp(name, "a") == 0) { info->audio = atoi(optarg); + } else if ( strcmp(name, "A" ) == 0 || strcmp(name, "all" ) == 0 ) { + live = atoi(optarg); + } } else if (strcmp(name, "bezerk") == 0 || strcmp(name, "b") == 0) { info->no_bezerk = 0; } else if (strcmp(name, "timer") == 0 || strcmp(name, "t") == 0) { @@ -730,7 +734,7 @@ int main(int argc, char **argv) default_geometry_x, default_geometry_y, NULL, - 0, + live, full_range, viewport)<0) {