What problem are you trying to solve here?
My natural inclination is that we should let GStreamer decide whether hardware decoding is best. Do we have any information that would better inform that decision?
In any case, some of the changes look alright. I would approve changing to `GST_RANK_NONE` for instance,
That doesn't seem like a good idea; why should we do that?