The client library incorrectly returns an error when anything other than LINEAR16 is used for a long-running recognize request:
https://github.com/GoogleCloudPlatform/google-cloud-python/blob/master/speech/google/cloud/speech/sample.py#L173
The v1 server support all encodings so this breaks functionality.
In general, the client library should almost never do it's own validation; it should always delegate to the server to be sure that that behavior and error messages are consistent across APIs.