jpeg_encode_accelerator_mojom_traits.cc 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. // Copyright 2018 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "components/chromeos_camera/common/jpeg_encode_accelerator_mojom_traits.h"
  5. #include "base/notreached.h"
  6. namespace mojo {
  7. // static
  8. chromeos_camera::mojom::EncodeStatus
  9. EnumTraits<chromeos_camera::mojom::EncodeStatus,
  10. chromeos_camera::JpegEncodeAccelerator::Status>::
  11. ToMojom(chromeos_camera::JpegEncodeAccelerator::Status status) {
  12. switch (status) {
  13. case chromeos_camera::JpegEncodeAccelerator::ENCODE_OK:
  14. return chromeos_camera::mojom::EncodeStatus::ENCODE_OK;
  15. case chromeos_camera::JpegEncodeAccelerator::HW_JPEG_ENCODE_NOT_SUPPORTED:
  16. return chromeos_camera::mojom::EncodeStatus::HW_JPEG_ENCODE_NOT_SUPPORTED;
  17. case chromeos_camera::JpegEncodeAccelerator::THREAD_CREATION_FAILED:
  18. return chromeos_camera::mojom::EncodeStatus::THREAD_CREATION_FAILED;
  19. case chromeos_camera::JpegEncodeAccelerator::INVALID_ARGUMENT:
  20. return chromeos_camera::mojom::EncodeStatus::INVALID_ARGUMENT;
  21. case chromeos_camera::JpegEncodeAccelerator::INACCESSIBLE_OUTPUT_BUFFER:
  22. return chromeos_camera::mojom::EncodeStatus::INACCESSIBLE_OUTPUT_BUFFER;
  23. case chromeos_camera::JpegEncodeAccelerator::PARSE_IMAGE_FAILED:
  24. return chromeos_camera::mojom::EncodeStatus::PARSE_IMAGE_FAILED;
  25. case chromeos_camera::JpegEncodeAccelerator::PLATFORM_FAILURE:
  26. return chromeos_camera::mojom::EncodeStatus::PLATFORM_FAILURE;
  27. }
  28. NOTREACHED();
  29. return chromeos_camera::mojom::EncodeStatus::ENCODE_OK;
  30. }
  31. // static
  32. bool EnumTraits<chromeos_camera::mojom::EncodeStatus,
  33. chromeos_camera::JpegEncodeAccelerator::Status>::
  34. FromMojom(chromeos_camera::mojom::EncodeStatus status,
  35. chromeos_camera::JpegEncodeAccelerator::Status* out) {
  36. switch (status) {
  37. case chromeos_camera::mojom::EncodeStatus::ENCODE_OK:
  38. *out = chromeos_camera::JpegEncodeAccelerator::Status::ENCODE_OK;
  39. return true;
  40. case chromeos_camera::mojom::EncodeStatus::HW_JPEG_ENCODE_NOT_SUPPORTED:
  41. *out = chromeos_camera::JpegEncodeAccelerator::Status::
  42. HW_JPEG_ENCODE_NOT_SUPPORTED;
  43. return true;
  44. case chromeos_camera::mojom::EncodeStatus::THREAD_CREATION_FAILED:
  45. *out = chromeos_camera::JpegEncodeAccelerator::Status::
  46. THREAD_CREATION_FAILED;
  47. return true;
  48. case chromeos_camera::mojom::EncodeStatus::INVALID_ARGUMENT:
  49. *out = chromeos_camera::JpegEncodeAccelerator::Status::INVALID_ARGUMENT;
  50. return true;
  51. case chromeos_camera::mojom::EncodeStatus::INACCESSIBLE_OUTPUT_BUFFER:
  52. *out = chromeos_camera::JpegEncodeAccelerator::Status::
  53. INACCESSIBLE_OUTPUT_BUFFER;
  54. return true;
  55. case chromeos_camera::mojom::EncodeStatus::PARSE_IMAGE_FAILED:
  56. *out = chromeos_camera::JpegEncodeAccelerator::Status::PARSE_IMAGE_FAILED;
  57. return true;
  58. case chromeos_camera::mojom::EncodeStatus::PLATFORM_FAILURE:
  59. *out = chromeos_camera::JpegEncodeAccelerator::Status::PLATFORM_FAILURE;
  60. return true;
  61. }
  62. NOTREACHED();
  63. return false;
  64. }
  65. } // namespace mojo