system is spawning mplayer in a new process. The GPL and its FAQ are rather clear on this topic e.g. "mere aggregation":
[...] By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. [...]
Here you use "command line arguments" to launch mplayer so I would say that mplayer and your own program are separate. And separate programs means that they can have different licenses.
This not different from launching a tool from a shell or a file manager: the tool license does not impact the licensing of the shell or file manager used to launch the tool.
Do I need to provide a.out source code in accordance with GPL v2?
I know that you do not have to provide a.out source code.
Am I correct understanding?
And if you redistribute mplayer itself, side-by-side with your code, then of course the GPL still applies to mplayer's code.