DeepStream Test3 Running pipeline on Different GPU

You can not set gpu-id directly for source_bin. please refer to function decodebin_child_added in sources/apps/apps-common/src/deepstream_source_bin.c for how to set gpu-id for dGPU.

Thank you for the helpful response. I took a look at the function decodebin_child_added and managed to get the problem resolved.

For those who may come across similar use case, I will leave my basic approach below. Feel free to modify to suit your specific design / use case.

def decodebin_child_added(child_proxy,Object,name,user_data):
    print("Decodebin child added:", name, "\n")
    try: 
        # feel free to receive gpu id as input variable elsewhere 
        gpu_id = 1
        # set gpu-id if it exists
        Object.set_property('gpu-id', gpu_id) 
    except: 
        # current Gstreamer element does not have property "gpu-id"
        # Feel free to do some logging for debugging purposes 
        pass

    if(name.find("decodebin") != -1):
        Object.connect("child-added",decodebin_child_added,user_data)