Sending the 'pause' command has no effect if the player is currently stopped. Thus, 'play' must be sent explicitly in that case.
Older versions of GObject had the "user data" parameter of most signal handlers marked as required, some value had to be passed in, even if it wasn't necessary.