source/controlplaneapi/infrastructure/lambda/EventClipGenerator/mre-event-clip-generator.py [410:513]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    if len(chunks) == 1:
        inputClippings = []
        inputClip = {}
        ic = {}

        endtime, starttime = get_clip_timings(segment, event)
        ic['EndTimecode'] = str(endtime)
        ic['StartTimecode'] = str(starttime)

        #If we have a single Chunk we don't need the Endtime Configured if it is less than Start time. Remove it.
        if datetime.strptime(endtime, "%H:%M:%S:%f") < datetime.strptime(starttime, "%H:%M:%S:%f"):
            ic.pop('EndTimecode', None)

        #ic['EndTimecode'], ic['StartTimecode'] = get_clip_timings(segment, event)
        inputClippings.append(ic)
        inputClip['InputClippings'] = inputClippings
       
        #------------- Update MediaConvert AudioSelectors Input -------------

        # Leave the default Input AudioSelectors as is if we are dealing with default Track or only one.
        # If we have multiple AudioTracks, this lambda will be provided with one.
        if int(audioTrack) > 0:
            inputClip['AudioSelectors'] =   {
                                            "Audio Selector 1": {
                                                "Tracks": [
                                                    int(audioTrack)
                                                ],
                                                "DefaultSelection": "NOT_DEFAULT",
                                                "SelectorType": "TRACK"
                                            }
                                        }
        else:
            inputClip['AudioSelectors'] =   {
                                            "Audio Selector 1": {
                                                "DefaultSelection": "DEFAULT"
                                            }
                                        }

        inputClip['AudioSelectorGroups'] =  {
                                                "Audio Selector Group 1": {
                                                    "AudioSelectorNames": [
                                                    "Audio Selector 1"
                                                    ]
                                                }
                                            }
                                            
        #------------- Update MediaConvert AudioSelectors Input Ends -------------
        
        inputClip['VideoSelector'] = {}
        inputClip['TimecodeSource'] = "ZEROBASED"
        inputClip['FileInput'] = f"s3://{chunks[0]['S3Bucket']}/{chunks[0]['S3Key']}"
        inputs.append(inputClip)
    elif len(chunks) > 1:
        for chunk_index in range(len(chunks)):
            ic = {}
            inputClippings = []
            inputClip = {}
            if chunk_index == 0:    # First Chunk
                ic['StartTimecode'] = get_start_clip_timings(segment, event)
                inputClippings.append(ic)
                inputClip['InputClippings'] = inputClippings
            elif chunk_index == len(chunks)-1:  # Last Chunk
                ic['EndTimecode'] = get_end_clip_timings(segment, event)
                inputClippings.append(ic)
                inputClip['InputClippings'] = inputClippings
            else:   # Sandwitch Chunks have no clippings
                inputClip['InputClippings'] = []

            
            #------------- Update MediaConvert AudioSelectors Input -------------

            # Leave the default Input AudioSelectors as is if we are dealing with default Track or only one.
            # If we have multiple AudioTracks, this lambda will be provided with one.
            if int(audioTrack) > 0:
                inputClip['AudioSelectors'] =   {
                                                "Audio Selector 1": {
                                                    "Tracks": [
                                                        int(audioTrack)
                                                    ],
                                                    "DefaultSelection": "NOT_DEFAULT",
                                                    "SelectorType": "TRACK"
                                                }
                                            }
            else:
                inputClip['AudioSelectors'] =   {
                                            "Audio Selector 1": {
                                                "DefaultSelection": "DEFAULT"
                                            }
                                        }
            inputClip['AudioSelectorGroups'] =  {
                                                    "Audio Selector Group 1": {
                                                        "AudioSelectorNames": [
                                                        "Audio Selector 1"
                                                        ]
                                                    }
                                                }
                                                
        #------------- Update MediaConvert AudioSelectors Input Ends -------------
            inputClip['VideoSelector'] = {}
            inputClip['TimecodeSource'] = "ZEROBASED"
            inputClip['FileInput'] = f"s3://{chunks[chunk_index]['S3Bucket']}/{chunks[chunk_index]['S3Key']}"
            inputs.append(inputClip)

    return inputs
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



source/controlplaneapi/infrastructure/lambda/EventClipGenerator/mre-event-clip-generator.py [541:660]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            if len(chunks) == 1:
                inputClippings = []
                inputClip = {}
                ic = {}

                endtime, starttime = get_clip_timings(segment, event)
                ic['EndTimecode'] = str(endtime)
                ic['StartTimecode'] = str(starttime)

                #If we have a single Chunk we don't need the Endtime Configured if it is less than Start time. Remove it.
                if datetime.strptime(endtime, "%H:%M:%S:%f") < datetime.strptime(starttime, "%H:%M:%S:%f"):
                    ic.pop('EndTimecode', None)

                #ic['EndTimecode'], ic['StartTimecode'] = get_clip_timings(segment, event)
                inputClippings.append(ic)
                inputClip['InputClippings'] = inputClippings
                # inputClip['AudioSelectors'] = {
                #         "Audio Selector 1": {
                #             "DefaultSelection": "DEFAULT"
                #         } 
                #     }

                #------------- Update MediaConvert AudioSelectors Input -------------

                # Leave the default Input AudioSelectors as is if we are dealing with default Track or only one.
                # If we have multiple AudioTracks, this lambda will be provided with one.
                if int(audioTrack) > 0:
                    inputClip['AudioSelectors'] =   {
                                                    "Audio Selector 1": {
                                                        "Tracks": [
                                                            int(audioTrack)
                                                        ],
                                                        "DefaultSelection": "NOT_DEFAULT",
                                                        "SelectorType": "TRACK"
                                                    }
                                                }
                else:
                    inputClip['AudioSelectors'] =   {
                                            "Audio Selector 1": {
                                                "DefaultSelection": "DEFAULT"
                                            }
                                        }
                inputClip['AudioSelectorGroups'] =  {
                                                        "Audio Selector Group 1": {
                                                            "AudioSelectorNames": [
                                                            "Audio Selector 1"
                                                            ]
                                                        }
                                                    }
                                                    
                #------------- Update MediaConvert AudioSelectors Input Ends -------------
                
                inputClip['VideoSelector'] = {}
                inputClip['TimecodeSource'] = "ZEROBASED"
                inputClip['FileInput'] = f"s3://{chunks[0]['S3Bucket']}/{chunks[0]['S3Key']}"
                inputs.append(inputClip)
            elif len(chunks) > 1:
                for chunk_index in range(len(chunks)):
                    ic = {}
                    inputClippings = []
                    inputClip = {}
                    if chunk_index == 0:    # First Chunk
                        ic['StartTimecode'] = get_start_clip_timings(segment, event)
                        inputClippings.append(ic)
                        inputClip['InputClippings'] = inputClippings
                    elif chunk_index == len(chunks)-1:  # Last Chunk
                        ic['EndTimecode'] = get_end_clip_timings(segment, event)
                        inputClippings.append(ic)
                        inputClip['InputClippings'] = inputClippings
                    else:   # Sandwitch Chunks have no clippings
                        inputClip['InputClippings'] = []

                    
                    #------------- Update MediaConvert AudioSelectors Input -------------

                    # Leave the default Input AudioSelectors as is if we are dealing with default Track or only one.
                    # If we have multiple AudioTracks, this lambda will be provided with one.
                    if int(audioTrack) > 0:
                        inputClip['AudioSelectors'] =   {
                                                        "Audio Selector 1": {
                                                            "Tracks": [
                                                                int(audioTrack)
                                                            ],
                                                            "DefaultSelection": "NOT_DEFAULT",
                                                            "SelectorType": "TRACK"
                                                        }
                                                    }
                    else:
                        inputClip['AudioSelectors'] =   {
                                            "Audio Selector 1": {
                                                "DefaultSelection": "DEFAULT"
                                            }
                                        }
                    inputClip['AudioSelectorGroups'] =  {
                                                            "Audio Selector Group 1": {
                                                                "AudioSelectorNames": [
                                                                "Audio Selector 1"
                                                                ]
                                                            }
                                                        }
                                                        
                #------------- Update MediaConvert AudioSelectors Input Ends -------------
                    inputClip['VideoSelector'] = {}
                    inputClip['TimecodeSource'] = "ZEROBASED"
                    inputClip['FileInput'] = f"s3://{chunks[chunk_index]['S3Bucket']}/{chunks[chunk_index]['S3Key']}"
                    inputs.append(inputClip)
    

        
        # elif "End" in segment and "Start" in segment and event['GenerateOriginal']:
        
        #         #Ignore Starts that have -1 in it
        #         if segment['Start'] == -1:
        #             continue
                
        #         build_input_settings_for_orig_segment(dataplane, inputs, segment, event)
                

            
    return inputs
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



