aboutsummaryrefslogtreecommitdiff
path: root/gst-vocschnipselssink/src/gstvocschnipselsink.h
blob: 675afa5c8a8f6439758902fee3dac73eeaf71983 (plain)
  1. /*
  2.  * GStreamer
  3. * Copyright (C) 2005 Thomas Vander Stichele <thomas@apestaart.org>
  4. * Copyright (C) 2005 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
  5. * Copyright (C) 2014 Peter Körner <peter@mazdermind.de>
  6. *
  7. * Permission is hereby granted, free of charge, to any person obtaining a
  8. * copy of this software and associated documentation files (the "Software"),
  9. * to deal in the Software without restriction, including without limitation
  10. * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  11. * and/or sell copies of the Software, and to permit persons to whom the
  12. * Software is furnished to do so, subject to the following conditions:
  13. *
  14. * The above copyright notice and this permission notice shall be included in
  15. * all copies or substantial portions of the Software.
  16. *
  17. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  18. * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  19. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  20. * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  21. * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  22. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  23. * DEALINGS IN THE SOFTWARE.
  24. *
  25. * Alternatively, the contents of this file may be used under the
  26. * GNU Lesser General Public License Version 2.1 (the "LGPL"), in
  27. * which case the following provisions apply instead of the ones
  28. * mentioned above:
  29. *
  30. * This library is free software; you can redistribute it and/or
  31. * modify it under the terms of the GNU Library General Public
  32. * License as published by the Free Software Foundation; either
  33. * version 2 of the License, or (at your option) any later version.
  34. *
  35. * This library is distributed in the hope that it will be useful,
  36. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  37. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  38. * Library General Public License for more details.
  39. *
  40. * You should have received a copy of the GNU Library General Public
  41. * License along with this library; if not, write to the
  42. * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  43. * Boston, MA 02111-1307, USA.
  44. */
  45. #ifndef __GST_VOCSCHNIPSELSINK_H__
  46. #define __GST_VOCSCHNIPSELSINK_H__
  47. #include <gst/gst.h>
  48. #include <gst/base/gstbasesink.h>
  49. #include <errno.h>
  50. #include <stdio.h>
  51. #include <string.h>
  52. #include <sys/stat.h>
  53. G_BEGIN_DECLS
  54. /* #defines don't like whitespacey bits */
  55. #define GST_TYPE_VOCSCHNIPSELSINK \
  56. (gst_voc_schnipsel_sink_get_type())
  57. #define GST_VOCSCHNIPSELSINK(obj) \
  58. (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_VOCSCHNIPSELSINK,GstVocSchnipselSink))
  59. #define GST_VOCSCHNIPSELSINK_CLASS(klass) \
  60. (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_VOCSCHNIPSELSINK,GstVocSchnipselSinkClass))
  61. #define GST_IS_VOCSCHNIPSELSINK(obj) \
  62. (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_VOCSCHNIPSELSINK))
  63. #define GST_IS_VOCSCHNIPSELSINK_CLASS(klass) \
  64. (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VOCSCHNIPSELSINK))
  65. typedef struct _GstVocSchnipselSink GstVocSchnipselSink;
  66. typedef struct _GstVocSchnipselSinkClass GstVocSchnipselSinkClass;
  67. struct _GstVocSchnipselSink
  68. {
  69. GstElement element;
  70. GstPad *sinkpad;
  71. gchar *location;
  72. FILE *file;
  73. guint64 frames;
  74. guint64 maxframes;
  75. int n_streamheaders;
  76. GstBuffer **streamheaders;
  77. };
  78. struct _GstVocSchnipselSinkClass
  79. {
  80. GstBaseSinkClass parent_class;
  81. };
  82. GType gst_voc_schnipsel_sink_get_type (void);
  83. G_END_DECLS
  84. #endif /* __GST_VOCSCHNIPSELSINK_H__ */