Update Decryptor interface to support audio decoding.

We were discussing the use of
decryptor_->DeinitializeDecoder(Decryptor::kVideo);
  - vs -
decryptor_->DeinitializeVideoDecoder();

I choose to use parameterized methods so that we have less code (duplication). The non-parameterized methods are cleaner for callers. But I feel the former is slightly better in general.

Later on we'll have two Decryptors (ProxyDecryptor will not be a Decryptor anymore):
1) AesDecryptor, which doesn't care the stream type at all, not even for CancelDecrypt().
2) PpapiDecryptor, which merely passes similar calls to the PluginInstance which then make similar PPP calls. It seems to me that for passing calls it's slightly cleaner to use parameterized methods. Also we have parameterized PPP calls already for the same reason (less functions through multiple layers).

So in both cases, using parameterized methods results in less code.

It's unfortunate that InitializeXXXDecoder and DecryptAndDecodeXXX are exceptions, due to different types they take/return.

BUG=123421
TEST=media_unittest, content_unittest

Review URL: https://chromiumcodereview.appspot.com/11144036

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162768 0039d316-1c4b-4281-b951-d872f2087c98
16 files changed