First, are you talking about streaming over the internet, or streaming over your LAN from a NAS or media server device?
Second, UPnP is a protocol for opening ports on internet-facing routers, and is not generally used for streaming. (Stream travels from internet to device, after device opens connect to internet.) SMB/CIFS is used for Windows' file-sharing on a NAS.
Most streaming apps use DLNA, I believe, and neither one of the above, although you can stream using windows file-sharing from a NAS, if you just double-click on a media file after mapping a drive letter, and playing the media locally, while pulling it over your LAN from the NAS. In that case, your media player has to handle the buffering.