Next input and Previous input now spawn a thread afterwards and wait 300 milliseconds and detect whether or not the source has been changed. If it has not, it attempts to change it to the next source in the list (or previous). This even works compounded if you have multiple bad sources in a row.