gstaudioencoder

gstaudioencoder

Functions

Properties

gboolean hard-resync Read / Write
gboolean mark-granule Read
gboolean perfect-timestamp Read / Write
gint64 tolerance Read / Write

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GstObject
            ╰── GstElement
                ╰── GstAudioEncoder

Implemented Interfaces

GstAudioEncoder implements GstPreset.

Includes

#include <gst/audio/gstaudioencoder.h>

Description

Functions

GST_AUDIO_ENCODER_SINK_PAD()

#define GST_AUDIO_ENCODER_SINK_PAD(obj) (GST_AUDIO_ENCODER_CAST (obj)->sinkpad)

GST_AUDIO_ENCODER_SRC_PAD()

#define GST_AUDIO_ENCODER_SRC_PAD(obj) (GST_AUDIO_ENCODER_CAST (obj)->srcpad)

gst_audio_encoder_finish_frame ()

GstFlowReturn
gst_audio_encoder_finish_frame (GstAudioEncoder *enc,
                                GstBuffer *buffer,
                                gint samples);

gst_audio_encoder_allocate_output_buffer ()

GstBuffer *
gst_audio_encoder_allocate_output_buffer
                               (GstAudioEncoder *enc,
                                gsize size);

gst_audio_encoder_get_allocator ()

void
gst_audio_encoder_get_allocator (GstAudioEncoder *enc,
                                 GstAllocator **allocator,
                                 GstAllocationParams *params);

gst_audio_encoder_set_output_format ()

gboolean
gst_audio_encoder_set_output_format (GstAudioEncoder *enc,
                                     GstCaps *caps);

gst_audio_encoder_negotiate ()

gboolean
gst_audio_encoder_negotiate (GstAudioEncoder *enc);

gst_audio_encoder_get_audio_info ()

GstAudioInfo *
gst_audio_encoder_get_audio_info (GstAudioEncoder *enc);

gst_audio_encoder_get_drainable ()

gboolean
gst_audio_encoder_get_drainable (GstAudioEncoder *enc);

gst_audio_encoder_get_frame_max ()

gint
gst_audio_encoder_get_frame_max (GstAudioEncoder *enc);

gst_audio_encoder_get_frame_samples_min ()

gint
gst_audio_encoder_get_frame_samples_min
                               (GstAudioEncoder *enc);

gst_audio_encoder_get_frame_samples_max ()

gint
gst_audio_encoder_get_frame_samples_max
                               (GstAudioEncoder *enc);

gst_audio_encoder_get_hard_min ()

gboolean
gst_audio_encoder_get_hard_min (GstAudioEncoder *enc);

gst_audio_encoder_get_hard_resync ()

gboolean
gst_audio_encoder_get_hard_resync (GstAudioEncoder *enc);

gst_audio_encoder_get_latency ()

void
gst_audio_encoder_get_latency (GstAudioEncoder *enc,
                               GstClockTime *min,
                               GstClockTime *max);

gst_audio_encoder_get_lookahead ()

gint
gst_audio_encoder_get_lookahead (GstAudioEncoder *enc);

gst_audio_encoder_get_mark_granule ()

gboolean
gst_audio_encoder_get_mark_granule (GstAudioEncoder *enc);

gst_audio_encoder_get_perfect_timestamp ()

gboolean
gst_audio_encoder_get_perfect_timestamp
                               (GstAudioEncoder *enc);

gst_audio_encoder_get_tolerance ()

GstClockTime
gst_audio_encoder_get_tolerance (GstAudioEncoder *enc);

gst_audio_encoder_proxy_getcaps ()

GstCaps *
gst_audio_encoder_proxy_getcaps (GstAudioEncoder *enc,
                                 GstCaps *caps,
                                 GstCaps *filter);

gst_audio_encoder_set_drainable ()

void
gst_audio_encoder_set_drainable (GstAudioEncoder *enc,
                                 gboolean enabled);

gst_audio_encoder_set_frame_max ()

void
gst_audio_encoder_set_frame_max (GstAudioEncoder *enc,
                                 gint num);

gst_audio_encoder_set_frame_samples_min ()

void
gst_audio_encoder_set_frame_samples_min
                               (GstAudioEncoder *enc,
                                gint num);

gst_audio_encoder_set_frame_samples_max ()

void
gst_audio_encoder_set_frame_samples_max
                               (GstAudioEncoder *enc,
                                gint num);

gst_audio_encoder_set_hard_min ()

void
gst_audio_encoder_set_hard_min (GstAudioEncoder *enc,
                                gboolean enabled);

gst_audio_encoder_set_hard_resync ()

void
gst_audio_encoder_set_hard_resync (GstAudioEncoder *enc,
                                   gboolean enabled);

gst_audio_encoder_set_headers ()

void
gst_audio_encoder_set_headers (GstAudioEncoder *enc,
                               GList *headers);

gst_audio_encoder_set_latency ()

void
gst_audio_encoder_set_latency (GstAudioEncoder *enc,
                               GstClockTime min,
                               GstClockTime max);

gst_audio_encoder_set_lookahead ()

void
gst_audio_encoder_set_lookahead (GstAudioEncoder *enc,
                                 gint num);

gst_audio_encoder_set_mark_granule ()

void
gst_audio_encoder_set_mark_granule (GstAudioEncoder *enc,
                                    gboolean enabled);

gst_audio_encoder_set_perfect_timestamp ()

void
gst_audio_encoder_set_perfect_timestamp
                               (GstAudioEncoder *enc,
                                gboolean enabled);

gst_audio_encoder_set_tolerance ()

void
gst_audio_encoder_set_tolerance (GstAudioEncoder *enc,
                                 GstClockTime tolerance);

gst_audio_encoder_merge_tags ()

void
gst_audio_encoder_merge_tags (GstAudioEncoder *enc,
                              const GstTagList *tags,
                              GstTagMergeMode mode);

Types and Values

struct GstAudioEncoder

struct GstAudioEncoder;

struct GstAudioEncoderClass

struct GstAudioEncoderClass {
  GstElementClass element_class;

  /* virtual methods for subclasses */

  gboolean      (*start)              (GstAudioEncoder *enc);

  gboolean      (*stop)               (GstAudioEncoder *enc);

  gboolean      (*set_format)         (GstAudioEncoder *enc,
                                       GstAudioInfo        *info);

  GstFlowReturn (*handle_frame)       (GstAudioEncoder *enc,
                                       GstBuffer *buffer);

  void          (*flush)              (GstAudioEncoder *enc);

  GstFlowReturn (*pre_push)           (GstAudioEncoder *enc,
                                       GstBuffer **buffer);

  gboolean      (*sink_event)         (GstAudioEncoder *enc,
                                       GstEvent *event);

  gboolean      (*src_event)          (GstAudioEncoder *enc,
                                       GstEvent *event);

  GstCaps *     (*getcaps)            (GstAudioEncoder *enc, GstCaps *filter);

  gboolean      (*open)               (GstAudioEncoder *enc);

  gboolean      (*close)              (GstAudioEncoder *enc);

  gboolean      (*negotiate)          (GstAudioEncoder *enc);

  gboolean      (*decide_allocation)  (GstAudioEncoder *enc, GstQuery *query);

  gboolean      (*propose_allocation) (GstAudioEncoder * enc,
                                       GstQuery * query);

  gboolean      (*transform_meta)     (GstAudioEncoder *enc, GstBuffer *outbuf,
                                       GstMeta *meta, GstBuffer *inbuf);

  gboolean      (*sink_query)         (GstAudioEncoder *encoder,
				       GstQuery *query);

  gboolean      (*src_query)          (GstAudioEncoder *encoder,
				       GstQuery *query);
};

GST_AUDIO_ENCODER_SINK_NAME

#define GST_AUDIO_ENCODER_SINK_NAME "sink"

GST_AUDIO_ENCODER_SRC_NAME

#define GST_AUDIO_ENCODER_SRC_NAME	        "src"

Property Details

The “hard-resync” property

  “hard-resync”              gboolean

Perform clipping and sample flushing upon discontinuity.

Flags: Read / Write

Default value: FALSE


The “mark-granule” property

  “mark-granule”             gboolean

Apply granule semantics to buffer metadata (implies perfect-timestamp).

Flags: Read

Default value: FALSE


The “perfect-timestamp” property

  “perfect-timestamp”        gboolean

Favour perfect timestamps over tracking upstream timestamps.

Flags: Read / Write

Default value: FALSE


The “tolerance” property

  “tolerance”                gint64

Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns).

Flags: Read / Write

Allowed values: >= 0

Default value: 40000000