You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
2.4KB

  1. /*
  2. * This file is part of Libav.
  3. *
  4. * Libav is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU Lesser General Public
  6. * License as published by the Free Software Foundation; either
  7. * version 2.1 of the License, or (at your option) any later version.
  8. *
  9. * Libav is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. * Lesser General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU Lesser General Public
  15. * License along with Libav; if not, write to the Free Software
  16. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  17. */
  18. #ifndef AVFILTER_AUDIO_H
  19. #define AVFILTER_AUDIO_H
  20. #include "avfilter.h"
  21. /** default handler for get_audio_buffer() for audio inputs */
  22. AVFilterBufferRef *ff_default_get_audio_buffer(AVFilterLink *link, int perms,
  23. int nb_samples);
  24. /** get_audio_buffer() handler for filters which simply pass audio along */
  25. AVFilterBufferRef *ff_null_get_audio_buffer(AVFilterLink *link, int perms,
  26. int nb_samples);
  27. /**
  28. * Request an audio samples buffer with a specific set of permissions.
  29. *
  30. * @param link the output link to the filter from which the buffer will
  31. * be requested
  32. * @param perms the required access permissions
  33. * @param nb_samples the number of samples per channel
  34. * @return A reference to the samples. This must be unreferenced with
  35. * avfilter_unref_buffer when you are finished with it.
  36. */
  37. AVFilterBufferRef *ff_get_audio_buffer(AVFilterLink *link, int perms,
  38. int nb_samples);
  39. /**
  40. * Send a buffer of audio samples to the next filter.
  41. *
  42. * @param link the output link over which the audio samples are being sent
  43. * @param samplesref a reference to the buffer of audio samples being sent. The
  44. * receiving filter will free this reference when it no longer
  45. * needs it or pass it on to the next filter.
  46. *
  47. * @return >= 0 on success, a negative AVERROR on error. The receiving filter
  48. * is responsible for unreferencing samplesref in case of error.
  49. */
  50. int ff_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref);
  51. #endif /* AVFILTER_AUDIO_H */