fdpay: Further fixes to leaking FDs

For some reason my test isn't detecting these leaks, but I've manually
verified this with:

    pulsevideo --source-pipeline="videotestsrc is-live=true" &
    gst-launch-1.0 dbusvideosourcesrc ! fakesink &
    ls /proc/$(pidof pulsevideo)/fd