rtmpcrypt: Do the xtea decryption in little endian mode

The XTEA algorithm operates on 32 bit numbers, not on byte sequences.
The XTEA implementation in libavutil is written assuming big endian
numbers, while the rtmpe signature encryption assumes little endian.

This fixes rtmpe communication with rtmpe servers that use signature
type 8 (XTEA), e.g. crunchyroll.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit e7728319b92dbb4fb949155e33de7ff5358ddff3)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
1 file changed
tree: 84349391a8d82f127327d86489dd5077b7aa1749
  1. compat/
  2. doc/
  3. libavcodec/
  4. libavdevice/
  5. libavfilter/
  6. libavformat/
  7. libavresample/
  8. libavutil/
  9. libpostproc/
  10. libswresample/
  11. libswscale/
  12. presets/
  13. tests/
  14. tools/
  15. .gitattributes
  16. .gitignore
  17. arch.mak
  18. Changelog
  19. cmdutils.c
  20. cmdutils.h
  21. cmdutils_common_opts.h
  22. cmdutils_opencl.c
  23. common.mak
  24. configure
  25. COPYING.GPLv2
  26. COPYING.GPLv3
  27. COPYING.LGPLv2.1
  28. COPYING.LGPLv3
  29. CREDITS
  30. ffmpeg.c
  31. ffmpeg.h
  32. ffmpeg_dxva2.c
  33. ffmpeg_filter.c
  34. ffmpeg_opt.c
  35. ffmpeg_vda.c
  36. ffmpeg_vdpau.c
  37. ffplay.c
  38. ffprobe.c
  39. ffserver.c
  40. ffserver_config.c
  41. ffserver_config.h
  42. INSTALL.md
  43. library.mak
  44. LICENSE.md
  45. MAINTAINERS
  46. Makefile
  47. README.md
  48. RELEASE
  49. RELEASE_NOTES
  50. version.sh
README.md

FFmpeg README

FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata.

Libraries

  • libavcodec provides implementation of a wider range of codecs.
  • libavformat implements streaming protocols, container formats and basic I/O access.
  • libavutil includes hashers, decompressors and miscellaneous utility functions.
  • libavfilter provides a mean to alter decoded Audio and Video through chain of filters.
  • libavdevice provides an abstraction to access capture and playback devices.
  • libswresample implements audio mixing and resampling routines.
  • libswscale implements color conversion and scaling routines.

Tools

  • ffmpeg is a command line toolbox to manipulate, convert and stream multimedia content.
  • ffplay is a minimalistic multimedia player.
  • ffprobe is a simple analysis tool to inspect multimedia content.
  • ffserver is a multimedia streaming server for live broadcasts.
  • Additional small tools such as aviocat, ismindex and qt-faststart.

Documentation

The offline documentation is available in the doc/ directory.

The online documentation is available in the main website and in the wiki.

Examples

Coding examples are available in the doc/examples directory.

License

FFmpeg codebase is mainly LGPL-licensed with optional components licensed under GPL. Please refer to the LICENSE file for detailed information.