From: Philip de N. <ph...@us...> - 2011-07-13 10:22:29
|
Update of /cvsroot/ingex/ingex/player/ingex_player In directory vz-cvs-4.sog:/tmp/cvs-serv19811/ingex_player Modified Files: blank_source.c bouncing_ball_source.c buffered_media_source.c ffmpeg_source.c media_source.c media_source.h multiple_sources.c mxf_source.c player.c raw_dv_source.c raw_file_source.c udp_source.c Log Message: added --disable-video player cmdline option to disable video from next input Index: media_source.h =================================================================== RCS file: /cvsroot/ingex/ingex/player/ingex_player/media_source.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** media_source.h 2 Jun 2010 11:12:14 -0000 1.7 --- media_source.h 13 Jul 2011 10:22:27 -0000 1.8 *************** *** 76,79 **** --- 76,80 ---- int (*disable_stream)(void* data, int streamIndex); void (*disable_audio)(void* data); + void (*disable_video)(void* data); int (*stream_is_disabled)(void* data, int streamIndex); *************** *** 130,133 **** --- 131,135 ---- int msc_disable_stream(MediaSource* source, int streamIndex); void msc_disable_audio(MediaSource* source); + void msc_disable_video(MediaSource* source); int msc_stream_is_disabled(MediaSource* source, int streamIndex); int msc_read_frame(MediaSource* source, const FrameInfo* frameInfo, MediaSourceListener* listener); Index: mxf_source.c =================================================================== RCS file: /cvsroot/ingex/ingex/player/ingex_player/mxf_source.c,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** mxf_source.c 14 Jun 2011 15:43:40 -0000 1.24 --- mxf_source.c 13 Jul 2011 10:22:27 -0000 1.25 *************** *** 573,576 **** --- 573,597 ---- } + static void mxfs_disable_video(void* data) + { + MXFFileSource* source = (MXFFileSource*)data; + OutputStreamData* outputStream; + int i; + int j; + + for (i = 0; i < source->numInputTracks; i++) + { + for (j = 0; j < source->trackData[i].numOutputStreams; j++) + { + outputStream = &source->trackData[i].streamData[j]; + + if (outputStream->streamInfo.type == PICTURE_STREAM_TYPE) + { + outputStream->isDisabled = 1; + } + } + } + } + static int mxfs_stream_is_disabled(void* data, int streamIndex) { *************** *** 1131,1134 **** --- 1152,1156 ---- newSource->mediaSource.disable_stream = mxfs_disable_stream; newSource->mediaSource.disable_audio = mxfs_disable_audio; + newSource->mediaSource.disable_video = mxfs_disable_video; newSource->mediaSource.stream_is_disabled = mxfs_stream_is_disabled; newSource->mediaSource.read_frame = mxfs_read_frame; Index: raw_file_source.c =================================================================== RCS file: /cvsroot/ingex/ingex/player/ingex_player/raw_file_source.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** raw_file_source.c 17 Dec 2009 15:57:40 -0000 1.7 --- raw_file_source.c 13 Jul 2011 10:22:27 -0000 1.8 *************** *** 147,150 **** --- 147,160 ---- } + static void rfs_disable_video(void* data) + { + RawFileSource* source = (RawFileSource*)data; + + if (source->streamInfo.type == PICTURE_STREAM_TYPE) + { + source->isDisabled = 1; + } + } + static int rfs_stream_is_disabled(void* data, int streamIndex) { *************** *** 386,389 **** --- 396,400 ---- newSource->mediaSource.disable_stream = rfs_disable_stream; newSource->mediaSource.disable_audio = rfs_disable_audio; + newSource->mediaSource.disable_video = rfs_disable_video; newSource->mediaSource.stream_is_disabled = rfs_stream_is_disabled; newSource->mediaSource.read_frame = rfs_read_frame; Index: bouncing_ball_source.c =================================================================== RCS file: /cvsroot/ingex/ingex/player/ingex_player/bouncing_ball_source.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** bouncing_ball_source.c 18 Feb 2011 16:28:51 -0000 1.8 --- bouncing_ball_source.c 13 Jul 2011 10:22:27 -0000 1.9 *************** *** 228,231 **** --- 228,238 ---- } + static void bbs_disable_video(void* data) + { + BouncingBallSource* source = (BouncingBallSource*)data; + + source->isDisabled = 1; + } + static int bbs_stream_is_disabled(void* data, int streamIndex) { *************** *** 433,436 **** --- 440,444 ---- newSource->mediaSource.set_frame_rate_or_disable = bbs_set_frame_rate_or_disable; newSource->mediaSource.disable_stream = bbs_disable_stream; + newSource->mediaSource.disable_video = bbs_disable_video; newSource->mediaSource.stream_is_disabled = bbs_stream_is_disabled; newSource->mediaSource.read_frame = bbs_read_frame; Index: multiple_sources.c =================================================================== RCS file: /cvsroot/ingex/ingex/player/ingex_player/multiple_sources.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** multiple_sources.c 11 May 2011 10:52:32 -0000 1.7 --- multiple_sources.c 13 Jul 2011 10:22:27 -0000 1.8 *************** *** 356,359 **** --- 356,372 ---- } + static void mls_disable_video(void* data) + { + MultipleMediaSources* multSource = (MultipleMediaSources*)data; + MediaSourceElement* ele = &multSource->sources; + + while (ele != NULL && ele->source != NULL) + { + msc_disable_video(ele->source); + + ele = ele->next; + } + } + static int mls_stream_is_disabled(void* data, int streamIndex) { *************** *** 778,781 **** --- 791,795 ---- newMultSource->collectiveSource.disable_stream = mls_disable_stream; newMultSource->collectiveSource.disable_audio = mls_disable_audio; + newMultSource->collectiveSource.disable_video = mls_disable_video; newMultSource->collectiveSource.stream_is_disabled = mls_stream_is_disabled; newMultSource->collectiveSource.read_frame = mls_read_frame; Index: player.c =================================================================== RCS file: /cvsroot/ingex/ingex/player/ingex_player/player.c,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** player.c 24 Jun 2011 13:01:22 -0000 1.35 --- player.c 13 Jul 2011 10:22:27 -0000 1.36 *************** *** 132,135 **** --- 132,136 ---- int disableAudio; + int disableVideo; const char* sourceName; *************** *** 964,967 **** --- 965,969 ---- #endif fprintf(stderr, " --disable-audio Disable audio from the next input\n"); + fprintf(stderr, " --disable-video Disable video from the next input\n"); fprintf(stderr, " --src-name <name> Set the source name (eg. used to label the sources in the split sink)\n"); fprintf(stderr, " --clip-id <val> Set the clip identifier for the source\n"); *************** *** 2439,2442 **** --- 2441,2449 ---- cmdlnIndex++; } + else if (strcmp(argv[cmdlnIndex], "--disable-video") == 0) + { + inputs[numInputs].disableVideo = 1; + cmdlnIndex++; + } else if (strcmp(argv[cmdlnIndex], "--src-name") == 0) { *************** *** 2708,2711 **** --- 2715,2724 ---- } + /* disable video */ + if (inputs[i].disableVideo) + { + msc_disable_video(mediaSource); + } + /* set the source name */ if (inputs[i].sourceName != NULL) Index: media_source.c =================================================================== RCS file: /cvsroot/ingex/ingex/player/ingex_player/media_source.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** media_source.c 19 Apr 2011 10:03:53 -0000 1.8 --- media_source.c 13 Jul 2011 10:22:27 -0000 1.9 *************** *** 157,160 **** --- 157,168 ---- } + void msc_disable_video(MediaSource* source) + { + if (source && source->disable_video) + { + source->disable_video(source->data); + } + } + int msc_stream_is_disabled(MediaSource* source, int streamIndex) { Index: udp_source.c =================================================================== RCS file: /cvsroot/ingex/ingex/player/ingex_player/udp_source.c,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** udp_source.c 19 Apr 2011 10:03:53 -0000 1.9 --- udp_source.c 13 Jul 2011 10:22:27 -0000 1.10 *************** *** 45,49 **** #include "multicast_video.h" ! #define MAX_TRACKS 19 --- 45,49 ---- #include "multicast_video.h" ! #define MAX_TRACKS 23 *************** *** 141,144 **** --- 141,158 ---- } + static void udp_disable_video(void* data) + { + UDPSource* source = (UDPSource*)data; + int i; + + for (i = 0; i < source->numTracks; i++) + { + if (source->tracks[i].streamInfo.type == PICTURE_STREAM_TYPE) + { + source->tracks[i].isDisabled = 1; + } + } + } + static int udp_stream_is_disabled(void* data, int streamIndex) { *************** *** 485,488 **** --- 499,503 ---- newSource->mediaSource.disable_stream = udp_disable_stream; newSource->mediaSource.disable_audio = udp_disable_audio; + newSource->mediaSource.disable_video = udp_disable_video; newSource->mediaSource.stream_is_disabled = udp_stream_is_disabled; newSource->mediaSource.read_frame = udp_read_frame; Index: raw_dv_source.c =================================================================== RCS file: /cvsroot/ingex/ingex/player/ingex_player/raw_dv_source.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** raw_dv_source.c 13 Oct 2010 12:34:32 -0000 1.6 --- raw_dv_source.c 13 Jul 2011 10:22:27 -0000 1.7 *************** *** 343,346 **** --- 343,356 ---- } + static void rds_disable_video(void* data) + { + RawDVSource* source = (RawDVSource*)data; + + if (source->streamInfo.type == PICTURE_STREAM_TYPE) + { + source->isDisabled = 1; + } + } + static int rds_stream_is_disabled(void* data, int streamIndex) { *************** *** 557,560 **** --- 567,571 ---- newSource->mediaSource.disable_stream = rds_disable_stream; newSource->mediaSource.disable_audio = rds_disable_audio; + newSource->mediaSource.disable_video = rds_disable_video; newSource->mediaSource.stream_is_disabled = rds_stream_is_disabled; newSource->mediaSource.read_frame = rds_read_frame; Index: blank_source.c =================================================================== RCS file: /cvsroot/ingex/ingex/player/ingex_player/blank_source.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** blank_source.c 11 May 2011 10:49:17 -0000 1.7 --- blank_source.c 13 Jul 2011 10:22:27 -0000 1.8 *************** *** 155,158 **** --- 155,165 ---- } + static void bks_disable_video(void* data) + { + BlankSource* source = (BlankSource*)data; + + source->isDisabled = 1; + } + static int bks_stream_is_disabled(void* data, int streamIndex) { *************** *** 305,308 **** --- 312,316 ---- newSource->mediaSource.set_frame_rate_or_disable = bks_set_frame_rate_or_disable; newSource->mediaSource.disable_stream = bks_disable_stream; + newSource->mediaSource.disable_video = bks_disable_video; newSource->mediaSource.stream_is_disabled = bks_stream_is_disabled; newSource->mediaSource.read_frame = bks_read_frame; Index: buffered_media_source.c =================================================================== RCS file: /cvsroot/ingex/ingex/player/ingex_player/buffered_media_source.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** buffered_media_source.c 11 May 2011 10:52:32 -0000 1.8 --- buffered_media_source.c 13 Jul 2011 10:22:27 -0000 1.9 *************** *** 482,485 **** --- 482,500 ---- + static void sync_disabled_streams(BufferedMediaSource* bufSource) + { + int i; + int numTargetStreams; + BufferedStream* stream; + + /* synchronize the local stream disabled to take into account disabled target streams */ + numTargetStreams = msc_get_num_streams(bufSource->targetSource); + for (i = 0; i < numTargetStreams; i++) + { + stream = get_stream(bufSource, i); + stream->isDisabled = msc_stream_is_disabled(bufSource->targetSource, i); + } + } + *************** *** 559,575 **** { BufferedMediaSource* bufSource = (BufferedMediaSource*)data; - int i; - int numTargetStreams; - BufferedStream* stream; msc_disable_audio(bufSource->targetSource); ! /* synchronize the local stream disabled to take into account disabled target streams */ ! numTargetStreams = msc_get_num_streams(bufSource->targetSource); ! for (i = 0; i < numTargetStreams; i++) ! { ! stream = get_stream(bufSource, i); ! stream->isDisabled = msc_stream_is_disabled(bufSource->targetSource, i); ! } } --- 574,588 ---- { BufferedMediaSource* bufSource = (BufferedMediaSource*)data; msc_disable_audio(bufSource->targetSource); + sync_disabled_streams(bufSource); + } ! static void bmsrc_disable_video(void* data) ! { ! BufferedMediaSource* bufSource = (BufferedMediaSource*)data; ! ! msc_disable_video(bufSource->targetSource); ! sync_disabled_streams(bufSource); } *************** *** 1072,1075 **** --- 1085,1089 ---- newBufSource->mediaSource.disable_stream = bmsrc_disable_stream; newBufSource->mediaSource.disable_audio = bmsrc_disable_audio; + newBufSource->mediaSource.disable_video = bmsrc_disable_video; newBufSource->mediaSource.stream_is_disabled = bmsrc_stream_is_disabled; newBufSource->mediaSource.read_frame = bmsrc_read_frame; Index: ffmpeg_source.c =================================================================== RCS file: /cvsroot/ingex/ingex/player/ingex_player/ffmpeg_source.c,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** ffmpeg_source.c 22 Jun 2011 06:30:07 -0000 1.12 --- ffmpeg_source.c 13 Jul 2011 10:22:27 -0000 1.13 *************** *** 1470,1483 **** (frameRate->den != source->frameRate.den)) { ! for (i = 0; i < source->numVideoStreams; i++) ! { ! VideoStream* videoStream = &source->videoStreams[i]; ! OutputStreamData* outputStream = &videoStream->outputStream; ! ! msc_disable_stream(&source->mediaSource, outputStream->streamIndex); ! } ! msc_disable_audio(&source->mediaSource); - msc_disable_stream(&source->mediaSource, source->timecodeStream.outputStream.streamIndex); } --- 1470,1475 ---- (frameRate->den != source->frameRate.den)) { ! msc_disable_video(&source->mediaSource); msc_disable_audio(&source->mediaSource); msc_disable_stream(&source->mediaSource, source->timecodeStream.outputStream.streamIndex); } *************** *** 1598,1601 **** --- 1590,1604 ---- } + static void fms_disable_video(void* data) + { + FFMPEGSource* source = (FFMPEGSource*)data; + int i; + + for (i = 0; i < source->numVideoStreams; i++) + { + source->videoStreams[i].outputStream.isDisabled = 1; + } + } + static int fms_stream_is_disabled(void* data, int streamIndex) { *************** *** 2257,2260 **** --- 2260,2264 ---- newSource->mediaSource.disable_stream = fms_disable_stream; newSource->mediaSource.disable_audio = fms_disable_audio; + newSource->mediaSource.disable_video = fms_disable_video; newSource->mediaSource.stream_is_disabled = fms_stream_is_disabled; newSource->mediaSource.read_frame = fms_read_frame; |