Shmsink/src or udpsink/src

Not sure, it depends on your actual platform and use case, but I don’t think that shmsrc/shmsink is the easiest way for your case.
It also depends on what format you’re sending through, but time stamping may be an issue.
In some cases you may try enabling shmsrc property do-timestamp=1.

Though, I’d better advise to use RTP over UDP for localhost. You can have a look to this post for some options depending on actual formats/encoding/RTPpayload.