mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 03:35:21 +00:00
Pass the code through codespell
This commit is contained in:
parent
cbd4110611
commit
909baa2360
168 changed files with 323 additions and 323 deletions
|
@ -818,7 +818,7 @@ dnl GST_*: flags shared by built objects to link against GStreamer
|
||||||
dnl GST_PLUGINS_BASE_CFLAGS: to link internally against the plugins base libs
|
dnl GST_PLUGINS_BASE_CFLAGS: to link internally against the plugins base libs
|
||||||
dnl (compare to other modules) or for i18n
|
dnl (compare to other modules) or for i18n
|
||||||
dnl GST_ALL_LDFLAGS: linker flags shared by all
|
dnl GST_ALL_LDFLAGS: linker flags shared by all
|
||||||
dnl GST_LIB_LDFLAGS: additional linker flags for all libaries
|
dnl GST_LIB_LDFLAGS: additional linker flags for all libraries
|
||||||
dnl GST_LT_LDFLAGS: library versioning of our libraries
|
dnl GST_LT_LDFLAGS: library versioning of our libraries
|
||||||
dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
|
dnl GST_PLUGIN_LDFLAGS: flags to be used for all plugins
|
||||||
|
|
||||||
|
|
|
@ -933,7 +933,7 @@ gst_alsasrc_get_timestamp (GstAlsaSrc * asrc)
|
||||||
return GST_CLOCK_TIME_NONE;
|
return GST_CLOCK_TIME_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* in case an xrun condition has occured we need to handle this */
|
/* in case an xrun condition has occurred we need to handle this */
|
||||||
if (snd_pcm_status_get_state (status) != SND_PCM_STATE_RUNNING) {
|
if (snd_pcm_status_get_state (status) != SND_PCM_STATE_RUNNING) {
|
||||||
if (xrun_recovery (asrc, asrc->handle, err) < 0) {
|
if (xrun_recovery (asrc, asrc->handle, err) < 0) {
|
||||||
GST_WARNING_OBJECT (asrc, "Could not recover from xrun condition !");
|
GST_WARNING_OBJECT (asrc, "Could not recover from xrun condition !");
|
||||||
|
|
|
@ -75,7 +75,7 @@ gst_gl_effects_xray (GstGLEffects * effects)
|
||||||
gst_gl_filter_render_to_target_with_shader (filter, effects->intexture,
|
gst_gl_filter_render_to_target_with_shader (filter, effects->intexture,
|
||||||
effects->midtexture[3], shader);
|
effects->midtexture[3], shader);
|
||||||
|
|
||||||
/* horizonal convolution */
|
/* horizontal convolution */
|
||||||
shader = gst_gl_effects_get_fragment_shader (effects, "sobel_hconv3",
|
shader = gst_gl_effects_get_fragment_shader (effects, "sobel_hconv3",
|
||||||
sep_sobel_hconv3_fragment_source_gles2);
|
sep_sobel_hconv3_fragment_source_gles2);
|
||||||
gst_gl_shader_use (shader);
|
gst_gl_shader_use (shader);
|
||||||
|
|
|
@ -197,7 +197,7 @@ static const gchar *chroma_key_frag =
|
||||||
"void main () {\n"
|
"void main () {\n"
|
||||||
" vec4 yuva;\n"
|
" vec4 yuva;\n"
|
||||||
/* operations translated from alpha and tested with glvideomixer
|
/* operations translated from alpha and tested with glvideomixer
|
||||||
* with one pad's paremeters blend-equation-rgb={subtract,reverse-subtract},
|
* with one pad's parameters blend-equation-rgb={subtract,reverse-subtract},
|
||||||
* blend-function-src-rgb=src-color and blend-function-dst-rgb=dst-color */
|
* blend-function-src-rgb=src-color and blend-function-dst-rgb=dst-color */
|
||||||
" vec4 rgba = texture2D (tex, v_texcoord);\n"
|
" vec4 rgba = texture2D (tex, v_texcoord);\n"
|
||||||
" yuva.xyz = rgb_to_yuv (rgba.rgb);\n"
|
" yuva.xyz = rgb_to_yuv (rgba.rgb);\n"
|
||||||
|
|
|
@ -134,7 +134,7 @@ static const gchar color_balance_frag_templ[] =
|
||||||
"void main () {\n"
|
"void main () {\n"
|
||||||
" vec3 yuv;\n"
|
" vec3 yuv;\n"
|
||||||
/* operations translated from videobalanceand tested with glvideomixer
|
/* operations translated from videobalanceand tested with glvideomixer
|
||||||
* with one pad's paremeters blend-equation-rgb={subtract,reverse-subtract},
|
* with one pad's parameters blend-equation-rgb={subtract,reverse-subtract},
|
||||||
* blend-function-src-rgb=src-color and blend-function-dst-rgb=dst-color */
|
* blend-function-src-rgb=src-color and blend-function-dst-rgb=dst-color */
|
||||||
" float hue_cos = cos (PI * hue);\n"
|
" float hue_cos = cos (PI * hue);\n"
|
||||||
" float hue_sin = sin (PI * hue);\n"
|
" float hue_sin = sin (PI * hue);\n"
|
||||||
|
|
|
@ -380,7 +380,7 @@ gst_gl_filter_reflected_screen_callback (gint width, gint height, guint texture,
|
||||||
|
|
||||||
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
|
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
|
||||||
|
|
||||||
//load identity befor tracing
|
//load identity before tracing
|
||||||
glLoadIdentity ();
|
glLoadIdentity ();
|
||||||
//camera translation
|
//camera translation
|
||||||
glTranslatef (0.0f, 0.1f, -1.3f);
|
glTranslatef (0.0f, 0.1f, -1.3f);
|
||||||
|
|
|
@ -387,7 +387,7 @@ _set_uniform (GQuark field_id, const GValue * value, gpointer user_data)
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
/* FIXME: Add support for unsigned ints, non 4x4 matrices, etc */
|
/* FIXME: Add support for unsigned ints, non 4x4 matrices, etc */
|
||||||
GST_FIXME ("Don't know how to set the \'%s\' paramater. Unknown type",
|
GST_FIXME ("Don't know how to set the \'%s\' parameter. Unknown type",
|
||||||
field_name);
|
field_name);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -530,7 +530,7 @@ gst_gl_filtershader_hcallback (GstGLFilter * filter, GstGLMemory * in_tex,
|
||||||
|
|
||||||
gst_gl_shader_use (shader);
|
gst_gl_shader_use (shader);
|
||||||
|
|
||||||
/* FIXME: propertise these */
|
/* FIXME: turn these into properties */
|
||||||
gst_gl_shader_set_uniform_1i (shader, "tex", 0);
|
gst_gl_shader_set_uniform_1i (shader, "tex", 0);
|
||||||
gst_gl_shader_set_uniform_1f (shader, "width",
|
gst_gl_shader_set_uniform_1f (shader, "width",
|
||||||
GST_VIDEO_INFO_WIDTH (&filter->out_info));
|
GST_VIDEO_INFO_WIDTH (&filter->out_info));
|
||||||
|
@ -538,7 +538,7 @@ gst_gl_filtershader_hcallback (GstGLFilter * filter, GstGLMemory * in_tex,
|
||||||
GST_VIDEO_INFO_HEIGHT (&filter->out_info));
|
GST_VIDEO_INFO_HEIGHT (&filter->out_info));
|
||||||
gst_gl_shader_set_uniform_1f (shader, "time", filtershader->time);
|
gst_gl_shader_set_uniform_1f (shader, "time", filtershader->time);
|
||||||
|
|
||||||
/* FIXME: propertise these */
|
/* FIXME: turn these into properties */
|
||||||
filter->draw_attr_position_loc =
|
filter->draw_attr_position_loc =
|
||||||
gst_gl_shader_get_attribute_location (shader, "a_position");
|
gst_gl_shader_get_attribute_location (shader, "a_position");
|
||||||
filter->draw_attr_texture_loc =
|
filter->draw_attr_texture_loc =
|
||||||
|
|
|
@ -2029,7 +2029,7 @@ gst_glimage_sink_thread_init_redisplay (GstGLImageSink * gl_sink)
|
||||||
frag_stage = gst_glsl_stage_new_default_fragment (gl_sink->context);
|
frag_stage = gst_glsl_stage_new_default_fragment (gl_sink->context);
|
||||||
}
|
}
|
||||||
if (!vert_stage || !frag_stage) {
|
if (!vert_stage || !frag_stage) {
|
||||||
GST_ERROR_OBJECT (gl_sink, "Failed to retreive fragment shader for "
|
GST_ERROR_OBJECT (gl_sink, "Failed to retrieve fragment shader for "
|
||||||
"texture target");
|
"texture target");
|
||||||
if (vert_stage)
|
if (vert_stage)
|
||||||
gst_object_unref (vert_stage);
|
gst_object_unref (vert_stage);
|
||||||
|
@ -2240,7 +2240,7 @@ gst_glimage_sink_on_draw (GstGLImageSink * gl_sink)
|
||||||
gst_gl_sync_meta_wait (gl_sink->stored_sync_meta,
|
gst_gl_sync_meta_wait (gl_sink->stored_sync_meta,
|
||||||
gst_gl_context_get_current ());
|
gst_gl_context_get_current ());
|
||||||
|
|
||||||
/* make sure that the environnement is clean */
|
/* make sure that the environment is clean */
|
||||||
gst_gl_context_clear_shader (gl_sink->context);
|
gst_gl_context_clear_shader (gl_sink->context);
|
||||||
gl->BindTexture (gl_target, 0);
|
gl->BindTexture (gl_target, 0);
|
||||||
|
|
||||||
|
|
|
@ -363,7 +363,7 @@ gst_gl_stereo_mix_aggregate_frames (GstVideoAggregator * vagg,
|
||||||
GstGLStereoMix *mix = GST_GL_STEREO_MIX (vagg);
|
GstGLStereoMix *mix = GST_GL_STEREO_MIX (vagg);
|
||||||
/* If we're operating in frame-by-frame mode, push
|
/* If we're operating in frame-by-frame mode, push
|
||||||
* the primary view now, and let the parent class
|
* the primary view now, and let the parent class
|
||||||
* push the remaining auxilliary view */
|
* push the remaining auxiliary view */
|
||||||
if (GST_VIDEO_INFO_MULTIVIEW_MODE (&vagg->info) ==
|
if (GST_VIDEO_INFO_MULTIVIEW_MODE (&vagg->info) ==
|
||||||
GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME) {
|
GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME) {
|
||||||
/* Transfer the timestamps video-agg put on the aux buffer */
|
/* Transfer the timestamps video-agg put on the aux buffer */
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
* pages.
|
* pages.
|
||||||
* Before extracting the packets out of the ogg pages, we push the raw vorbis
|
* Before extracting the packets out of the ogg pages, we push the raw vorbis
|
||||||
* header packets to the decoder.
|
* header packets to the decoder.
|
||||||
* We don't use the incomming timestamps but use the ganulepos on the ogg pages
|
* We don't use the incoming timestamps but use the ganulepos on the ogg pages
|
||||||
* directly.
|
* directly.
|
||||||
* This parser only does ogg/vorbis for now.
|
* This parser only does ogg/vorbis for now.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -632,7 +632,7 @@ gst_ogg_demux_chain_peer (GstOggPad * pad, ogg_packet * packet,
|
||||||
beyond = ipad->map.n_index
|
beyond = ipad->map.n_index
|
||||||
&& ipad->map.index[ipad->map.n_index - 1].offset >= length;
|
&& ipad->map.index[ipad->map.n_index - 1].offset >= length;
|
||||||
if (beyond) {
|
if (beyond) {
|
||||||
GST_WARNING_OBJECT (pad, "Index offsets beyong byte length");
|
GST_WARNING_OBJECT (pad, "Index offsets beyond byte length");
|
||||||
if (ipad->discont) {
|
if (ipad->discont) {
|
||||||
/* hole - the index is most likely screwed up */
|
/* hole - the index is most likely screwed up */
|
||||||
GST_WARNING_OBJECT (ogg, "Discarding entire index");
|
GST_WARNING_OBJECT (ogg, "Discarding entire index");
|
||||||
|
@ -1511,7 +1511,7 @@ gst_ogg_demux_estimate_bisection_target (GstOggDemux * ogg, float seek_quality)
|
||||||
GST_DEBUG_OBJECT (ogg, "Raw best guess: %" G_GINT64_FORMAT, best);
|
GST_DEBUG_OBJECT (ogg, "Raw best guess: %" G_GINT64_FORMAT, best);
|
||||||
|
|
||||||
/* offset the guess down as we need to capture the start of the
|
/* offset the guess down as we need to capture the start of the
|
||||||
page we are targetting - but only do so if we did not undershoot
|
page we are targeting - but only do so if we did not undershoot
|
||||||
last time, as we're likely to still do this time */
|
last time, as we're likely to still do this time */
|
||||||
if (!ogg->seek_undershot) {
|
if (!ogg->seek_undershot) {
|
||||||
/* very small packets are packed on pages, so offset by at least
|
/* very small packets are packed on pages, so offset by at least
|
||||||
|
@ -4026,7 +4026,7 @@ gst_ogg_demux_bisect_forward_serialno (GstOggDemux * ogg,
|
||||||
"bisect begin: %" G_GINT64_FORMAT ", searched: %" G_GINT64_FORMAT
|
"bisect begin: %" G_GINT64_FORMAT ", searched: %" G_GINT64_FORMAT
|
||||||
", end %" G_GINT64_FORMAT ", chain: %p", begin, searched, end, chain);
|
", end %" G_GINT64_FORMAT ", chain: %p", begin, searched, end, chain);
|
||||||
|
|
||||||
/* the below guards against garbage seperating the last and
|
/* the below guards against garbage separating the last and
|
||||||
* first pages of two links. */
|
* first pages of two links. */
|
||||||
while (searched < endsearched) {
|
while (searched < endsearched) {
|
||||||
gint64 bisect;
|
gint64 bisect;
|
||||||
|
|
|
@ -97,7 +97,7 @@ struct _GstOggPad
|
||||||
gint64 first_granule; /* the granulepos of first page == first sample in next page */
|
gint64 first_granule; /* the granulepos of first page == first sample in next page */
|
||||||
GstClockTime first_time; /* the timestamp of the second page or granuletime of first page */
|
GstClockTime first_time; /* the timestamp of the second page or granuletime of first page */
|
||||||
|
|
||||||
GstClockTime position; /* position when last push occured; used to detect when we
|
GstClockTime position; /* position when last push occurred; used to detect when we
|
||||||
* need to send a newsegment update event for sparse streams */
|
* need to send a newsegment update event for sparse streams */
|
||||||
|
|
||||||
GList *continued;
|
GList *continued;
|
||||||
|
|
|
@ -882,7 +882,7 @@ gst_base_text_overlay_negotiate (GstBaseTextOverlay * overlay, GstCaps * caps)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (upstream_has_meta || caps_has_meta) {
|
if (upstream_has_meta || caps_has_meta) {
|
||||||
/* Send caps immediatly, it's needed by GstBaseTransform to get a reply
|
/* Send caps immediately, it's needed by GstBaseTransform to get a reply
|
||||||
* from allocation query */
|
* from allocation query */
|
||||||
ret = gst_pad_set_caps (overlay->srcpad, overlay_caps);
|
ret = gst_pad_set_caps (overlay->srcpad, overlay_caps);
|
||||||
|
|
||||||
|
@ -1855,7 +1855,7 @@ gst_base_text_overlay_render_pangocairo (GstBaseTextOverlay * overlay,
|
||||||
overlay->ink_rect.y = tmp.x;
|
overlay->ink_rect.y = tmp.x;
|
||||||
overlay->ink_rect.width = tmp.height;
|
overlay->ink_rect.width = tmp.height;
|
||||||
overlay->ink_rect.height = tmp.width;
|
overlay->ink_rect.height = tmp.width;
|
||||||
/* We want the top left corect, but we now have the top right */
|
/* We want the top left correct, but we now have the top right */
|
||||||
overlay->ink_rect.x += overlay->ink_rect.width;
|
overlay->ink_rect.x += overlay->ink_rect.width;
|
||||||
|
|
||||||
tmp = overlay->logical_rect;
|
tmp = overlay->logical_rect;
|
||||||
|
@ -1901,7 +1901,7 @@ gst_base_text_overlay_render_pangocairo (GstBaseTextOverlay * overlay,
|
||||||
if (overlay->use_vertical_render) {
|
if (overlay->use_vertical_render) {
|
||||||
gint tmp;
|
gint tmp;
|
||||||
|
|
||||||
/* tranlate to the center of the image, rotate, and tranlate the rotated
|
/* translate to the center of the image, rotate, and translate the rotated
|
||||||
* image back to the right place */
|
* image back to the right place */
|
||||||
cairo_matrix_translate (&cairo_matrix, unscaled_height / 2.0l,
|
cairo_matrix_translate (&cairo_matrix, unscaled_height / 2.0l,
|
||||||
unscaled_width / 2.0l);
|
unscaled_width / 2.0l);
|
||||||
|
|
|
@ -70,7 +70,7 @@ struct _GstTheoraDec
|
||||||
GstVideoCodecState *input_state;
|
GstVideoCodecState *input_state;
|
||||||
GstVideoCodecState *output_state;
|
GstVideoCodecState *output_state;
|
||||||
|
|
||||||
/* telemetry debuging options */
|
/* telemetry debugging options */
|
||||||
gint telemetry_mv;
|
gint telemetry_mv;
|
||||||
gint telemetry_mbmode;
|
gint telemetry_mbmode;
|
||||||
gint telemetry_qi;
|
gint telemetry_qi;
|
||||||
|
|
|
@ -879,7 +879,7 @@ theora_enc_handle_frame (GstVideoEncoder * benc, GstVideoCodecFrame * frame)
|
||||||
enc = GST_THEORA_ENC (benc);
|
enc = GST_THEORA_ENC (benc);
|
||||||
|
|
||||||
/* we keep track of two timelines.
|
/* we keep track of two timelines.
|
||||||
* - The timestamps from the incomming buffers, which we copy to the outgoing
|
* - The timestamps from the incoming buffers, which we copy to the outgoing
|
||||||
* encoded buffers as-is. We need to do this as we simply forward the
|
* encoded buffers as-is. We need to do this as we simply forward the
|
||||||
* newsegment events.
|
* newsegment events.
|
||||||
* - The running_time of the buffers, which we use to construct the granulepos
|
* - The running_time of the buffers, which we use to construct the granulepos
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
* elements.
|
* elements.
|
||||||
*
|
*
|
||||||
* Applications can set the tags to write using the #GstTagSetter interface.
|
* Applications can set the tags to write using the #GstTagSetter interface.
|
||||||
* Tags contained withing the vorbis bitstream will be picked up
|
* Tags contained within the vorbis bitstream will be picked up
|
||||||
* automatically (and merged according to the merge mode set via the tag
|
* automatically (and merged according to the merge mode set via the tag
|
||||||
* setter interface).
|
* setter interface).
|
||||||
*
|
*
|
||||||
|
|
|
@ -41,17 +41,17 @@ G_BEGIN_DECLS
|
||||||
*
|
*
|
||||||
* When the memory is mappable for read and write requests then it is assumes
|
* When the memory is mappable for read and write requests then it is assumes
|
||||||
* to be a fast path and so this caps feature should not be used. Though
|
* to be a fast path and so this caps feature should not be used. Though
|
||||||
* according to the dma-buf protocal, while it is mapped it prevents the
|
* according to the dma-buf protocol, while it is mapped it prevents the
|
||||||
* exporter to migrate the buffer.
|
* exporter to migrate the buffer.
|
||||||
*
|
*
|
||||||
* This caps feature should not serve at all the purpose of selecting the
|
* This caps feature should not serve at all the purpose of selecting the
|
||||||
* @GST_ALLOCATOR_DMABUF allocator during caps negotiation.
|
* @GST_ALLOCATOR_DMABUF allocator during caps negotiation.
|
||||||
* When the exporter is the upstream element from the importer point of view,
|
* When the exporter is the upstream element from the importer point of view,
|
||||||
* the exporter should try to map the dma buffer at runtime (preferrably during
|
* the exporter should try to map the dma buffer at runtime (preferably during
|
||||||
* decide_allocation phase). When it succeeds for #GST_MAP_READWRITE this caps
|
* decide_allocation phase). When it succeeds for #GST_MAP_READWRITE this caps
|
||||||
* feature should not be used. This allows scalers, color converts and any image
|
* feature should not be used. This allows scalers, color converts and any image
|
||||||
* processing filters to work directly on the dma buffer.
|
* processing filters to work directly on the dma buffer.
|
||||||
* In this case the importer element should check all incomming memory using
|
* In this case the importer element should check all incoming memory using
|
||||||
* gst_is_dmabuf_memory().
|
* gst_is_dmabuf_memory().
|
||||||
*
|
*
|
||||||
* Since: 1.12
|
* Since: 1.12
|
||||||
|
|
|
@ -1201,7 +1201,7 @@ gst_app_sink_set_emit_signals (GstAppSink * appsink, gboolean emit)
|
||||||
*
|
*
|
||||||
* Check if appsink will emit the "new-preroll" and "new-sample" signals.
|
* Check if appsink will emit the "new-preroll" and "new-sample" signals.
|
||||||
*
|
*
|
||||||
* Returns: %TRUE if @appsink is emiting the "new-preroll" and "new-sample"
|
* Returns: %TRUE if @appsink is emitting the "new-preroll" and "new-sample"
|
||||||
* signals.
|
* signals.
|
||||||
*/
|
*/
|
||||||
gboolean
|
gboolean
|
||||||
|
|
|
@ -350,7 +350,7 @@ gst_app_src_class_init (GstAppSrcClass * klass)
|
||||||
/**
|
/**
|
||||||
* GstAppSrc::max-latency:
|
* GstAppSrc::max-latency:
|
||||||
*
|
*
|
||||||
* The maximum latency of the source. A value of -1 means an unlimited amout
|
* The maximum latency of the source. A value of -1 means an unlimited amount
|
||||||
* of latency.
|
* of latency.
|
||||||
*/
|
*/
|
||||||
g_object_class_install_property (gobject_class, PROP_MAX_LATENCY,
|
g_object_class_install_property (gobject_class, PROP_MAX_LATENCY,
|
||||||
|
@ -1937,9 +1937,9 @@ gst_app_src_push_sample_internal (GstAppSrc * appsrc, GstSample * sample)
|
||||||
* When the block property is TRUE, this function can block until free
|
* When the block property is TRUE, this function can block until free
|
||||||
* space becomes available in the queue.
|
* space becomes available in the queue.
|
||||||
*
|
*
|
||||||
* Returns: #GST_FLOW_OK when the buffer was successfuly queued.
|
* Returns: #GST_FLOW_OK when the buffer was successfully queued.
|
||||||
* #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING.
|
* #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING.
|
||||||
* #GST_FLOW_EOS when EOS occured.
|
* #GST_FLOW_EOS when EOS occurred.
|
||||||
*/
|
*/
|
||||||
GstFlowReturn
|
GstFlowReturn
|
||||||
gst_app_src_push_buffer (GstAppSrc * appsrc, GstBuffer * buffer)
|
gst_app_src_push_buffer (GstAppSrc * appsrc, GstBuffer * buffer)
|
||||||
|
@ -1959,9 +1959,9 @@ gst_app_src_push_buffer (GstAppSrc * appsrc, GstBuffer * buffer)
|
||||||
* When the block property is TRUE, this function can block until free
|
* When the block property is TRUE, this function can block until free
|
||||||
* space becomes available in the queue.
|
* space becomes available in the queue.
|
||||||
*
|
*
|
||||||
* Returns: #GST_FLOW_OK when the buffer list was successfuly queued.
|
* Returns: #GST_FLOW_OK when the buffer list was successfully queued.
|
||||||
* #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING.
|
* #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING.
|
||||||
* #GST_FLOW_EOS when EOS occured.
|
* #GST_FLOW_EOS when EOS occurred.
|
||||||
*
|
*
|
||||||
* Since: 1.14
|
* Since: 1.14
|
||||||
*/
|
*/
|
||||||
|
@ -1988,9 +1988,9 @@ gst_app_src_push_buffer_list (GstAppSrc * appsrc, GstBufferList * buffer_list)
|
||||||
* When the block property is TRUE, this function can block until free
|
* When the block property is TRUE, this function can block until free
|
||||||
* space becomes available in the queue.
|
* space becomes available in the queue.
|
||||||
*
|
*
|
||||||
* Returns: #GST_FLOW_OK when the buffer was successfuly queued.
|
* Returns: #GST_FLOW_OK when the buffer was successfully queued.
|
||||||
* #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING.
|
* #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING.
|
||||||
* #GST_FLOW_EOS when EOS occured.
|
* #GST_FLOW_EOS when EOS occurred.
|
||||||
*
|
*
|
||||||
* Since: 1.6
|
* Since: 1.6
|
||||||
*
|
*
|
||||||
|
@ -2033,7 +2033,7 @@ gst_app_src_push_sample_action (GstAppSrc * appsrc, GstSample * sample)
|
||||||
* Indicates to the appsrc element that the last buffer queued in the
|
* Indicates to the appsrc element that the last buffer queued in the
|
||||||
* element is the last buffer of the stream.
|
* element is the last buffer of the stream.
|
||||||
*
|
*
|
||||||
* Returns: #GST_FLOW_OK when the EOS was successfuly queued.
|
* Returns: #GST_FLOW_OK when the EOS was successfully queued.
|
||||||
* #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING.
|
* #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING.
|
||||||
*/
|
*/
|
||||||
GstFlowReturn
|
GstFlowReturn
|
||||||
|
|
|
@ -87,7 +87,7 @@ G_BEGIN_DECLS
|
||||||
* This is expressed in caps by having a channel mask with no bits set.
|
* This is expressed in caps by having a channel mask with no bits set.
|
||||||
*
|
*
|
||||||
* As another special case it is allowed to have two channels without a channel mask.
|
* As another special case it is allowed to have two channels without a channel mask.
|
||||||
* This implicitely means that this is a stereo stream with a front left and front right
|
* This implicitly means that this is a stereo stream with a front left and front right
|
||||||
* channel.
|
* channel.
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
|
|
@ -420,7 +420,7 @@ get_temp_samples (AudioChain * chain, gsize num_samples, gpointer user_data)
|
||||||
gint8 *s;
|
gint8 *s;
|
||||||
gsize stride = GST_ROUND_UP_N (num_samples * chain->stride, ALIGN);
|
gsize stride = GST_ROUND_UP_N (num_samples * chain->stride, ALIGN);
|
||||||
/* first part contains the pointers, second part the data, add some extra bytes
|
/* first part contains the pointers, second part the data, add some extra bytes
|
||||||
* for alignement */
|
* for alignment */
|
||||||
gsize needed = (stride + sizeof (gpointer)) * chain->blocks + ALIGN - 1;
|
gsize needed = (stride + sizeof (gpointer)) * chain->blocks + ALIGN - 1;
|
||||||
|
|
||||||
GST_DEBUG ("alloc samples %d %" G_GSIZE_FORMAT " %" G_GSIZE_FORMAT,
|
GST_DEBUG ("alloc samples %d %" G_GSIZE_FORMAT " %" G_GSIZE_FORMAT,
|
||||||
|
|
|
@ -173,7 +173,7 @@ typedef enum
|
||||||
* @GST_AUDIO_PACK_FLAG_NONE: No flag
|
* @GST_AUDIO_PACK_FLAG_NONE: No flag
|
||||||
* @GST_AUDIO_PACK_FLAG_TRUNCATE_RANGE: When the source has a smaller depth
|
* @GST_AUDIO_PACK_FLAG_TRUNCATE_RANGE: When the source has a smaller depth
|
||||||
* than the target format, set the least significant bits of the target
|
* than the target format, set the least significant bits of the target
|
||||||
* to 0. This is likely sightly faster but less accurate. When this flag
|
* to 0. This is likely slightly faster but less accurate. When this flag
|
||||||
* is not specified, the most significant bits of the source are duplicated
|
* is not specified, the most significant bits of the source are duplicated
|
||||||
* in the least significant bits of the destination.
|
* in the least significant bits of the destination.
|
||||||
*
|
*
|
||||||
|
|
|
@ -1648,7 +1648,7 @@ gst_audio_resampler_free (GstAudioResampler * resampler)
|
||||||
* Get the number of output frames that would be currently available when
|
* Get the number of output frames that would be currently available when
|
||||||
* @in_frames are given to @resampler.
|
* @in_frames are given to @resampler.
|
||||||
*
|
*
|
||||||
* Returns: The number of frames that would be availabe after giving
|
* Returns: The number of frames that would be available after giving
|
||||||
* @in_frames as input to @resampler.
|
* @in_frames as input to @resampler.
|
||||||
*/
|
*/
|
||||||
gsize
|
gsize
|
||||||
|
|
|
@ -117,9 +117,9 @@ typedef enum {
|
||||||
* GstAudioResamplerFilterInterpolation:
|
* GstAudioResamplerFilterInterpolation:
|
||||||
* @GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_NONE: no interpolation
|
* @GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_NONE: no interpolation
|
||||||
* @GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_LINEAR: linear interpolation of the
|
* @GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_LINEAR: linear interpolation of the
|
||||||
* filter coeficients.
|
* filter coefficients.
|
||||||
* @GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC: cubic interpolation of the
|
* @GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC: cubic interpolation of the
|
||||||
* filter coeficients.
|
* filter coefficients.
|
||||||
*
|
*
|
||||||
* The different filter interpolation methods.
|
* The different filter interpolation methods.
|
||||||
*/
|
*/
|
||||||
|
@ -131,7 +131,7 @@ typedef enum {
|
||||||
/**
|
/**
|
||||||
* GST_AUDIO_RESAMPLER_OPT_FILTER_INTERPOLATION:
|
* GST_AUDIO_RESAMPLER_OPT_FILTER_INTERPOLATION:
|
||||||
*
|
*
|
||||||
* GST_TYPE_AUDIO_RESAMPLER_INTERPOLATION: how the filter coeficients should be
|
* GST_TYPE_AUDIO_RESAMPLER_INTERPOLATION: how the filter coefficients should be
|
||||||
* interpolated.
|
* interpolated.
|
||||||
* GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC is default.
|
* GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC is default.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1289,7 +1289,7 @@ gst_audio_aggregator_sink_query (GstAggregator * agg, GstAggregatorPad * aggpad,
|
||||||
*
|
*
|
||||||
* We don't do synchronized mixing so this really depends on where the
|
* We don't do synchronized mixing so this really depends on where the
|
||||||
* streams where punched in and what their relative offsets are against
|
* streams where punched in and what their relative offsets are against
|
||||||
* eachother which we can get from the first timestamps we see.
|
* each other which we can get from the first timestamps we see.
|
||||||
*
|
*
|
||||||
* When we add a new stream (or remove a stream) the duration might
|
* When we add a new stream (or remove a stream) the duration might
|
||||||
* also become invalid again and we need to post a new DURATION
|
* also become invalid again and we need to post a new DURATION
|
||||||
|
@ -1878,7 +1878,7 @@ gst_audio_aggregator_aggregate (GstAggregator * agg, gboolean timeout)
|
||||||
* the running time.
|
* the running time.
|
||||||
*
|
*
|
||||||
* 2) If the current pad's offset/offset_end overlaps with the output
|
* 2) If the current pad's offset/offset_end overlaps with the output
|
||||||
* offset/offset_end, mix it at the appropiate position in the output
|
* offset/offset_end, mix it at the appropriate position in the output
|
||||||
* buffer and advance the pad's position. Remember if this pad needs
|
* buffer and advance the pad's position. Remember if this pad needs
|
||||||
* a new buffer to advance behind the output offset_end.
|
* a new buffer to advance behind the output offset_end.
|
||||||
*
|
*
|
||||||
|
|
|
@ -1284,7 +1284,7 @@ gst_audio_base_sink_custom_slaving (GstAudioBaseSink * sink,
|
||||||
etime = etime > cexternal ? etime - cexternal : 0;
|
etime = etime > cexternal ? etime - cexternal : 0;
|
||||||
itime = itime > cinternal ? itime - cinternal : 0;
|
itime = itime > cinternal ? itime - cinternal : 0;
|
||||||
|
|
||||||
/* don't do any skewing unless the callback explicitely requests one */
|
/* don't do any skewing unless the callback explicitly requests one */
|
||||||
requested_skew = 0;
|
requested_skew = 0;
|
||||||
|
|
||||||
if (sink->priv->custom_slaving_callback != NULL) {
|
if (sink->priv->custom_slaving_callback != NULL) {
|
||||||
|
@ -1358,7 +1358,7 @@ gst_audio_base_sink_resample_slaving (GstAudioBaseSink * sink,
|
||||||
/* FIXME, we can sample and add observations here or use the timeouts on the
|
/* FIXME, we can sample and add observations here or use the timeouts on the
|
||||||
* clock. No idea which one is better or more stable. The timeout seems more
|
* clock. No idea which one is better or more stable. The timeout seems more
|
||||||
* arbitrary but this one seems more demanding and does not work when there is
|
* arbitrary but this one seems more demanding and does not work when there is
|
||||||
* no data comming in to the sink. */
|
* no data coming in to the sink. */
|
||||||
#if 0
|
#if 0
|
||||||
GstClockTime etime, itime;
|
GstClockTime etime, itime;
|
||||||
gdouble r_squared;
|
gdouble r_squared;
|
||||||
|
@ -1640,7 +1640,7 @@ gst_audio_base_sink_sync_latency (GstBaseSink * bsink, GstMiniObject * obj)
|
||||||
goto flushing;
|
goto flushing;
|
||||||
|
|
||||||
/* retry if we got unscheduled, which means we did not reach the timeout
|
/* retry if we got unscheduled, which means we did not reach the timeout
|
||||||
* yet. if some other error occures, we continue. */
|
* yet. if some other error occurs, we continue. */
|
||||||
} while (status == GST_CLOCK_UNSCHEDULED);
|
} while (status == GST_CLOCK_UNSCHEDULED);
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (sink, "latency synced");
|
GST_DEBUG_OBJECT (sink, "latency synced");
|
||||||
|
@ -2421,7 +2421,7 @@ gst_audio_base_sink_change_state (GstElement * element,
|
||||||
gst_audio_ring_buffer_may_start (sink->ringbuffer, FALSE);
|
gst_audio_ring_buffer_may_start (sink->ringbuffer, FALSE);
|
||||||
|
|
||||||
/* Only post clock-provide messages if this is the clock that
|
/* Only post clock-provide messages if this is the clock that
|
||||||
* we've created. If the subclass has overriden it the subclass
|
* we've created. If the subclass has overridden it the subclass
|
||||||
* should post this messages whenever necessary */
|
* should post this messages whenever necessary */
|
||||||
if (gst_audio_base_sink_is_self_provided_clock (sink))
|
if (gst_audio_base_sink_is_self_provided_clock (sink))
|
||||||
gst_element_post_message (element,
|
gst_element_post_message (element,
|
||||||
|
@ -2441,7 +2441,7 @@ gst_audio_base_sink_change_state (GstElement * element,
|
||||||
gst_audio_ring_buffer_may_start (sink->ringbuffer, TRUE);
|
gst_audio_ring_buffer_may_start (sink->ringbuffer, TRUE);
|
||||||
if (GST_BASE_SINK_CAST (sink)->pad_mode == GST_PAD_MODE_PULL ||
|
if (GST_BASE_SINK_CAST (sink)->pad_mode == GST_PAD_MODE_PULL ||
|
||||||
g_atomic_int_get (&sink->eos_rendering) || eos) {
|
g_atomic_int_get (&sink->eos_rendering) || eos) {
|
||||||
/* we always start the ringbuffer in pull mode immediatly */
|
/* we always start the ringbuffer in pull mode immediately */
|
||||||
/* sync rendering on eos needs running clock,
|
/* sync rendering on eos needs running clock,
|
||||||
* and others need running clock when finished rendering eos */
|
* and others need running clock when finished rendering eos */
|
||||||
gst_audio_ring_buffer_start (sink->ringbuffer);
|
gst_audio_ring_buffer_start (sink->ringbuffer);
|
||||||
|
@ -2459,7 +2459,7 @@ gst_audio_base_sink_change_state (GstElement * element,
|
||||||
break;
|
break;
|
||||||
case GST_STATE_CHANGE_PAUSED_TO_READY:
|
case GST_STATE_CHANGE_PAUSED_TO_READY:
|
||||||
/* Only post clock-lost messages if this is the clock that
|
/* Only post clock-lost messages if this is the clock that
|
||||||
* we've created. If the subclass has overriden it the subclass
|
* we've created. If the subclass has overridden it the subclass
|
||||||
* should post this messages whenever necessary */
|
* should post this messages whenever necessary */
|
||||||
if (gst_audio_base_sink_is_self_provided_clock (sink))
|
if (gst_audio_base_sink_is_self_provided_clock (sink))
|
||||||
gst_element_post_message (element,
|
gst_element_post_message (element,
|
||||||
|
|
|
@ -1134,7 +1134,7 @@ gst_audio_base_src_change_state (GstElement * element,
|
||||||
gst_audio_ring_buffer_set_flushing (src->ringbuffer, FALSE);
|
gst_audio_ring_buffer_set_flushing (src->ringbuffer, FALSE);
|
||||||
gst_audio_ring_buffer_may_start (src->ringbuffer, FALSE);
|
gst_audio_ring_buffer_may_start (src->ringbuffer, FALSE);
|
||||||
/* Only post clock-provide messages if this is the clock that
|
/* Only post clock-provide messages if this is the clock that
|
||||||
* we've created. If the subclass has overriden it the subclass
|
* we've created. If the subclass has overridden it the subclass
|
||||||
* should post this messages whenever necessary */
|
* should post this messages whenever necessary */
|
||||||
if (src->clock && GST_IS_AUDIO_CLOCK (src->clock) &&
|
if (src->clock && GST_IS_AUDIO_CLOCK (src->clock) &&
|
||||||
GST_AUDIO_CLOCK_CAST (src->clock)->func ==
|
GST_AUDIO_CLOCK_CAST (src->clock)->func ==
|
||||||
|
@ -1155,7 +1155,7 @@ gst_audio_base_src_change_state (GstElement * element,
|
||||||
case GST_STATE_CHANGE_PAUSED_TO_READY:
|
case GST_STATE_CHANGE_PAUSED_TO_READY:
|
||||||
GST_DEBUG_OBJECT (src, "PAUSED->READY");
|
GST_DEBUG_OBJECT (src, "PAUSED->READY");
|
||||||
/* Only post clock-lost messages if this is the clock that
|
/* Only post clock-lost messages if this is the clock that
|
||||||
* we've created. If the subclass has overriden it the subclass
|
* we've created. If the subclass has overridden it the subclass
|
||||||
* should post this messages whenever necessary */
|
* should post this messages whenever necessary */
|
||||||
if (src->clock && GST_IS_AUDIO_CLOCK (src->clock) &&
|
if (src->clock && GST_IS_AUDIO_CLOCK (src->clock) &&
|
||||||
GST_AUDIO_CLOCK_CAST (src->clock)->func ==
|
GST_AUDIO_CLOCK_CAST (src->clock)->func ==
|
||||||
|
|
|
@ -1350,7 +1350,7 @@ gst_audio_decoder_finish_frame_or_subframe (GstAudioDecoder * dec,
|
||||||
/* sanity checking */
|
/* sanity checking */
|
||||||
if (G_LIKELY (buf && ctx->info.bpf)) {
|
if (G_LIKELY (buf && ctx->info.bpf)) {
|
||||||
if (!meta || meta->info.layout == GST_AUDIO_LAYOUT_INTERLEAVED) {
|
if (!meta || meta->info.layout == GST_AUDIO_LAYOUT_INTERLEAVED) {
|
||||||
/* output shoud be whole number of sample frames */
|
/* output should be whole number of sample frames */
|
||||||
if (size % ctx->info.bpf)
|
if (size % ctx->info.bpf)
|
||||||
goto wrong_buffer;
|
goto wrong_buffer;
|
||||||
/* output should have no additional padding */
|
/* output should have no additional padding */
|
||||||
|
@ -1844,7 +1844,7 @@ gst_audio_decoder_clear_queues (GstAudioDecoder * dec)
|
||||||
* arrives out of order.
|
* arrives out of order.
|
||||||
*
|
*
|
||||||
* we first gather buffers in the gather queue until we get a DISCONT. We
|
* we first gather buffers in the gather queue until we get a DISCONT. We
|
||||||
* prepend each incomming buffer so that they are in reversed order.
|
* prepend each incoming buffer so that they are in reversed order.
|
||||||
*
|
*
|
||||||
* gather queue: 9 8 7
|
* gather queue: 9 8 7
|
||||||
* decode queue:
|
* decode queue:
|
||||||
|
|
|
@ -1224,7 +1224,7 @@ gst_audio_encoder_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
|
||||||
GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buffer)),
|
GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buffer)),
|
||||||
GST_TIME_ARGS (GST_BUFFER_DURATION (buffer)));
|
GST_TIME_ARGS (GST_BUFFER_DURATION (buffer)));
|
||||||
|
|
||||||
/* input shoud be whole number of sample frames */
|
/* input should be whole number of sample frames */
|
||||||
if (size % ctx->info.bpf)
|
if (size % ctx->info.bpf)
|
||||||
goto wrong_buffer;
|
goto wrong_buffer;
|
||||||
|
|
||||||
|
|
|
@ -1189,11 +1189,11 @@ done:
|
||||||
* implementation uses another internal buffer between the audio
|
* implementation uses another internal buffer between the audio
|
||||||
* device.
|
* device.
|
||||||
*
|
*
|
||||||
* For playback ringbuffers this is the amount of samples transfered from the
|
* For playback ringbuffers this is the amount of samples transferred from the
|
||||||
* ringbuffer to the device but still not played.
|
* ringbuffer to the device but still not played.
|
||||||
*
|
*
|
||||||
* For capture ringbuffers this is the amount of samples in the device that are
|
* For capture ringbuffers this is the amount of samples in the device that are
|
||||||
* not yet transfered to the ringbuffer.
|
* not yet transferred to the ringbuffer.
|
||||||
*
|
*
|
||||||
* Returns: The number of samples queued in the audio device.
|
* Returns: The number of samples queued in the audio device.
|
||||||
*
|
*
|
||||||
|
|
|
@ -241,7 +241,7 @@ audioringbuffer_thread_func (GstAudioRingBuffer * buf)
|
||||||
left = len;
|
left = len;
|
||||||
do {
|
do {
|
||||||
written = writefunc (sink, readptr, left);
|
written = writefunc (sink, readptr, left);
|
||||||
GST_LOG_OBJECT (sink, "transfered %d bytes of %d from segment %d",
|
GST_LOG_OBJECT (sink, "transferred %d bytes of %d from segment %d",
|
||||||
written, left, readseg);
|
written, left, readseg);
|
||||||
if (written < 0 || written > left) {
|
if (written < 0 || written > left) {
|
||||||
/* might not be critical, it e.g. happens when aborting playback */
|
/* might not be critical, it e.g. happens when aborting playback */
|
||||||
|
|
|
@ -220,7 +220,7 @@ audioringbuffer_thread_func (GstAudioRingBuffer * buf)
|
||||||
left = len;
|
left = len;
|
||||||
do {
|
do {
|
||||||
read = readfunc (src, readptr, left, ×tamp);
|
read = readfunc (src, readptr, left, ×tamp);
|
||||||
GST_LOG_OBJECT (src, "transfered %d bytes of %d to segment %d", read,
|
GST_LOG_OBJECT (src, "transferred %d bytes of %d to segment %d", read,
|
||||||
left, readseg);
|
left, readseg);
|
||||||
if (read < 0 || read > left) {
|
if (read < 0 || read > left) {
|
||||||
GST_WARNING_OBJECT (src,
|
GST_WARNING_OBJECT (src,
|
||||||
|
@ -463,7 +463,7 @@ gst_audio_src_ring_buffer_stop (GstAudioRingBuffer * buf)
|
||||||
#if 0
|
#if 0
|
||||||
GST_DEBUG ("stop, waiting...");
|
GST_DEBUG ("stop, waiting...");
|
||||||
GST_AUDIO_SRC_RING_BUFFER_WAIT (buf);
|
GST_AUDIO_SRC_RING_BUFFER_WAIT (buf);
|
||||||
GST_DEBUG ("stoped");
|
GST_DEBUG ("stopped");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
|
@ -144,7 +144,7 @@ gst_audio_stream_align_free (GstAudioStreamAlign * align)
|
||||||
* @rate: a new sample rate
|
* @rate: a new sample rate
|
||||||
*
|
*
|
||||||
* Sets @rate as new sample rate for the following processing. If the sample
|
* Sets @rate as new sample rate for the following processing. If the sample
|
||||||
* rate differs this implicitely marks the next data as discontinuous.
|
* rate differs this implicitly marks the next data as discontinuous.
|
||||||
*
|
*
|
||||||
* Since: 1.14
|
* Since: 1.14
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -17,7 +17,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
|
||||||
#include "_kiss_fft_guts_f32.h"
|
#include "_kiss_fft_guts_f32.h"
|
||||||
/* The guts header contains all the multiplication and addition macros that are defined for
|
/* The guts header contains all the multiplication and addition macros that are defined for
|
||||||
fixed or floating point complex numbers. It also delares the kf_ internal functions.
|
fixed or floating point complex numbers. It also declares the kf_ internal functions.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static kiss_fft_f32_cpx *scratchbuf = NULL;
|
static kiss_fft_f32_cpx *scratchbuf = NULL;
|
||||||
|
|
|
@ -17,7 +17,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
|
||||||
#include "_kiss_fft_guts_f64.h"
|
#include "_kiss_fft_guts_f64.h"
|
||||||
/* The guts header contains all the multiplication and addition macros that are defined for
|
/* The guts header contains all the multiplication and addition macros that are defined for
|
||||||
fixed or floating point complex numbers. It also delares the kf_ internal functions.
|
fixed or floating point complex numbers. It also declares the kf_ internal functions.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static kiss_fft_f64_cpx *scratchbuf = NULL;
|
static kiss_fft_f64_cpx *scratchbuf = NULL;
|
||||||
|
|
|
@ -17,7 +17,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
|
||||||
#include "_kiss_fft_guts_s16.h"
|
#include "_kiss_fft_guts_s16.h"
|
||||||
/* The guts header contains all the multiplication and addition macros that are defined for
|
/* The guts header contains all the multiplication and addition macros that are defined for
|
||||||
fixed or floating point complex numbers. It also delares the kf_ internal functions.
|
fixed or floating point complex numbers. It also declares the kf_ internal functions.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static kiss_fft_s16_cpx *scratchbuf = NULL;
|
static kiss_fft_s16_cpx *scratchbuf = NULL;
|
||||||
|
|
|
@ -17,7 +17,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
|
||||||
#include "_kiss_fft_guts_s32.h"
|
#include "_kiss_fft_guts_s32.h"
|
||||||
/* The guts header contains all the multiplication and addition macros that are defined for
|
/* The guts header contains all the multiplication and addition macros that are defined for
|
||||||
fixed or floating point complex numbers. It also delares the kf_ internal functions.
|
fixed or floating point complex numbers. It also declares the kf_ internal functions.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static kiss_fft_s32_cpx *scratchbuf = NULL;
|
static kiss_fft_s32_cpx *scratchbuf = NULL;
|
||||||
|
|
|
@ -839,7 +839,7 @@ gst_gl_context_egl_create_context (GstGLContext * context,
|
||||||
egl->egl_surface =
|
egl->egl_surface =
|
||||||
eglCreateWindowSurface (egl->egl_display, egl->egl_config,
|
eglCreateWindowSurface (egl->egl_display, egl->egl_config,
|
||||||
(EGLNativeWindowType) window_handle, attrs);
|
(EGLNativeWindowType) window_handle, attrs);
|
||||||
/* Store window handle for later comparision */
|
/* Store window handle for later comparison */
|
||||||
egl->window_handle = window_handle;
|
egl->window_handle = window_handle;
|
||||||
} else if (!gst_gl_check_extension ("EGL_KHR_surfaceless_context",
|
} else if (!gst_gl_check_extension ("EGL_KHR_surfaceless_context",
|
||||||
egl->egl_exts)) {
|
egl->egl_exts)) {
|
||||||
|
|
|
@ -467,7 +467,7 @@ gst_gl_gbm_find_and_open_drm_node (void)
|
||||||
* unclear how to do that. By trying to create an EGL context? */
|
* unclear how to do that. By trying to create an EGL context? */
|
||||||
g_udev_enumerator_add_match_subsystem (gudev_enum, "drm");
|
g_udev_enumerator_add_match_subsystem (gudev_enum, "drm");
|
||||||
devlist = g_udev_enumerator_execute (gudev_enum);
|
devlist = g_udev_enumerator_execute (gudev_enum);
|
||||||
GST_DEBUG ("Scanned for udev devices with a drm subsytem");
|
GST_DEBUG ("Scanned for udev devices with a drm subsystem");
|
||||||
|
|
||||||
if (devlist == NULL) {
|
if (devlist == NULL) {
|
||||||
GST_WARNING ("Found no matching DRM devices");
|
GST_WARNING ("Found no matching DRM devices");
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
* gst_gl_api_to_string:
|
* gst_gl_api_to_string:
|
||||||
* @api: a #GstGLAPI to stringify
|
* @api: a #GstGLAPI to stringify
|
||||||
*
|
*
|
||||||
* Returns: A space seperated string of the OpenGL api's enabled in @api
|
* Returns: A space separated string of the OpenGL api's enabled in @api
|
||||||
*/
|
*/
|
||||||
gchar *
|
gchar *
|
||||||
gst_gl_api_to_string (GstGLAPI api)
|
gst_gl_api_to_string (GstGLAPI api)
|
||||||
|
@ -97,7 +97,7 @@ out:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gst_gl_api_from_string:
|
* gst_gl_api_from_string:
|
||||||
* @api_s: a space seperated string of OpenGL apis
|
* @api_s: a space separated string of OpenGL apis
|
||||||
*
|
*
|
||||||
* Returns: The #GstGLAPI represented by @api_s
|
* Returns: The #GstGLAPI represented by @api_s
|
||||||
*/
|
*/
|
||||||
|
@ -141,7 +141,7 @@ gst_gl_api_from_string (const gchar * apis_s)
|
||||||
* gst_gl_platform_to_string:
|
* gst_gl_platform_to_string:
|
||||||
* @platform: a #GstGLPlatform to stringify
|
* @platform: a #GstGLPlatform to stringify
|
||||||
*
|
*
|
||||||
* Returns: A space seperated string of the OpenGL platforms enabled in @platform
|
* Returns: A space separated string of the OpenGL platforms enabled in @platform
|
||||||
*/
|
*/
|
||||||
gchar *
|
gchar *
|
||||||
gst_gl_platform_to_string (GstGLPlatform platform)
|
gst_gl_platform_to_string (GstGLPlatform platform)
|
||||||
|
@ -182,7 +182,7 @@ out:
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gst_gl_platform_from_string:
|
* gst_gl_platform_from_string:
|
||||||
* @platform_s: a space seperated string of OpenGL platformss
|
* @platform_s: a space separated string of OpenGL platformss
|
||||||
*
|
*
|
||||||
* Returns: The #GstGLPlatform represented by @platform_s
|
* Returns: The #GstGLPlatform represented by @platform_s
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -209,7 +209,7 @@ _align_data (gpointer data, gsize align)
|
||||||
* gst_gl_base_memory_alloc_data:
|
* gst_gl_base_memory_alloc_data:
|
||||||
* @gl_mem: a #GstGLBaseMemory
|
* @gl_mem: a #GstGLBaseMemory
|
||||||
*
|
*
|
||||||
* Note: only intended for subclass usage to allocate the sytem memory buffer
|
* Note: only intended for subclass usage to allocate the system memory buffer
|
||||||
* on demand. If there is already a non-NULL data pointer in @gl_mem->data,
|
* on demand. If there is already a non-NULL data pointer in @gl_mem->data,
|
||||||
* then this function imply returns TRUE.
|
* then this function imply returns TRUE.
|
||||||
*
|
*
|
||||||
|
@ -567,7 +567,7 @@ gst_is_gl_base_memory (GstMemory * mem)
|
||||||
* @offset: the offset to start at
|
* @offset: the offset to start at
|
||||||
* @size: the number of bytes to copy
|
* @size: the number of bytes to copy
|
||||||
*
|
*
|
||||||
* Returns: whether the copy suceeded.
|
* Returns: whether the copy succeeded.
|
||||||
*
|
*
|
||||||
* Since: 1.8
|
* Since: 1.8
|
||||||
*/
|
*/
|
||||||
|
@ -623,7 +623,7 @@ gst_gl_base_memory_memcpy (GstGLBaseMemory * src, GstGLBaseMemory * dest,
|
||||||
* @notify will be called once for each allocated memory using these @params
|
* @notify will be called once for each allocated memory using these @params
|
||||||
* when freeing the memory.
|
* when freeing the memory.
|
||||||
*
|
*
|
||||||
* Returns: whether the paramaters could be initialized
|
* Returns: whether the parameters could be initialized
|
||||||
*
|
*
|
||||||
* Since: 1.8
|
* Since: 1.8
|
||||||
*/
|
*/
|
||||||
|
@ -704,7 +704,7 @@ gst_gl_allocation_params_free (GstGLAllocationParams * params)
|
||||||
* @params: the source #GstGLAllocationParams
|
* @params: the source #GstGLAllocationParams
|
||||||
*
|
*
|
||||||
* Frees the dynamically allocated data in @params. Direct subclasses
|
* Frees the dynamically allocated data in @params. Direct subclasses
|
||||||
* should call this function in their own overriden free function.
|
* should call this function in their own overridden free function.
|
||||||
*
|
*
|
||||||
* Since: 1.8
|
* Since: 1.8
|
||||||
*/
|
*/
|
||||||
|
@ -723,7 +723,7 @@ gst_gl_allocation_params_free_data (GstGLAllocationParams * params)
|
||||||
* @dest: the destination #GstGLAllocationParams
|
* @dest: the destination #GstGLAllocationParams
|
||||||
*
|
*
|
||||||
* Copies the dynamically allocated data from @src to @dest. Direct subclasses
|
* Copies the dynamically allocated data from @src to @dest. Direct subclasses
|
||||||
* should call this function in their own overriden copy function.
|
* should call this function in their own overridden copy function.
|
||||||
*
|
*
|
||||||
* Since: 1.8
|
* Since: 1.8
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -58,7 +58,7 @@ GQuark gst_gl_base_memory_error_quark (void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GstGLBaseMemoryError:
|
* GstGLBaseMemoryError:
|
||||||
* @GST_GL_BASE_MEMORY_ERROR_FAILED: generic faliure
|
* @GST_GL_BASE_MEMORY_ERROR_FAILED: generic failure
|
||||||
* @GST_GL_BASE_MEMORY_ERROR_OLD_LIBS: the implementation is too old and doesn't
|
* @GST_GL_BASE_MEMORY_ERROR_OLD_LIBS: the implementation is too old and doesn't
|
||||||
* implement enough features
|
* implement enough features
|
||||||
* @GST_GL_BASE_MEMORY_ERROR_RESOURCE_UNAVAILABLE: a resource could not be found
|
* @GST_GL_BASE_MEMORY_ERROR_RESOURCE_UNAVAILABLE: a resource could not be found
|
||||||
|
|
|
@ -219,7 +219,7 @@ gst_gl_buffer_pool_set_config (GstBufferPool * pool, GstStructure * config)
|
||||||
priv->gl_params->target = tex_target;
|
priv->gl_params->target = tex_target;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Recalulate the size and offset as we don't add padding between planes. */
|
/* Recalculate the size and offset as we don't add padding between planes. */
|
||||||
priv->gl_params->v_info->size = 0;
|
priv->gl_params->v_info->size = 0;
|
||||||
for (p = 0; p < GST_VIDEO_INFO_N_PLANES (priv->gl_params->v_info); p++) {
|
for (p = 0; p < GST_VIDEO_INFO_N_PLANES (priv->gl_params->v_info); p++) {
|
||||||
priv->gl_params->v_info->offset[p] = priv->gl_params->v_info->size;
|
priv->gl_params->v_info->offset[p] = priv->gl_params->v_info->size;
|
||||||
|
|
|
@ -117,7 +117,7 @@ static const gfloat from_rgb_bt709_ucoeff[] = {-0.100640f, -0.338688f, 0.439327f
|
||||||
static const gfloat from_rgb_bt709_vcoeff[] = {0.440654f, -0.400285f, -0.040370f};
|
static const gfloat from_rgb_bt709_vcoeff[] = {0.440654f, -0.400285f, -0.040370f};
|
||||||
|
|
||||||
/* GRAY16 to RGB conversion
|
/* GRAY16 to RGB conversion
|
||||||
* data transfered as GL_LUMINANCE_ALPHA then convert back to GRAY16
|
* data transferred as GL_LUMINANCE_ALPHA then convert back to GRAY16
|
||||||
* high byte weight as : 255*256/65535
|
* high byte weight as : 255*256/65535
|
||||||
* ([0~1] denormalize to [0~255],shift to high byte,normalize to [0~1])
|
* ([0~1] denormalize to [0~255],shift to high byte,normalize to [0~1])
|
||||||
* low byte weight as : 255/65535 (similar)
|
* low byte weight as : 255/65535 (similar)
|
||||||
|
@ -181,7 +181,7 @@ static const struct shader_templ templ_REORDER =
|
||||||
};
|
};
|
||||||
|
|
||||||
/* GRAY16 to RGB conversion
|
/* GRAY16 to RGB conversion
|
||||||
* data transfered as GL_LUMINANCE_ALPHA then convert back to GRAY16
|
* data transferred as GL_LUMINANCE_ALPHA then convert back to GRAY16
|
||||||
* high byte weight as : 255*256/65535
|
* high byte weight as : 255*256/65535
|
||||||
* ([0~1] denormalize to [0~255],shift to high byte,normalize to [0~1])
|
* ([0~1] denormalize to [0~255],shift to high byte,normalize to [0~1])
|
||||||
* low byte weight as : 255/65535 (similar)
|
* low byte weight as : 255/65535 (similar)
|
||||||
|
@ -2369,7 +2369,7 @@ _do_convert_one_view (GstGLContext * context, GstGLColorConvert * convert,
|
||||||
|| out_tex->tex_format == GST_GL_LUMINANCE_ALPHA
|
|| out_tex->tex_format == GST_GL_LUMINANCE_ALPHA
|
||||||
|| out_width != mem_width || out_height != mem_height) {
|
|| out_width != mem_width || out_height != mem_height) {
|
||||||
/* Luminance formats are not color renderable */
|
/* Luminance formats are not color renderable */
|
||||||
/* renderering to a framebuffer only renders the intersection of all
|
/* rendering to a framebuffer only renders the intersection of all
|
||||||
* the attachments i.e. the smallest attachment size */
|
* the attachments i.e. the smallest attachment size */
|
||||||
if (!convert->priv->out_tex[j]) {
|
if (!convert->priv->out_tex[j]) {
|
||||||
GstGLVideoAllocationParams *params;
|
GstGLVideoAllocationParams *params;
|
||||||
|
|
|
@ -146,7 +146,7 @@ load_self_module (gpointer user_data)
|
||||||
* can share GL resources, this is the next best thing.
|
* can share GL resources, this is the next best thing.
|
||||||
*
|
*
|
||||||
* XXX: we may need a way to associate two wrapped GstGLContext's as being
|
* XXX: we may need a way to associate two wrapped GstGLContext's as being
|
||||||
* shared however I have not come across a use case that requries this yet.
|
* shared however I have not come across a use case that requires this yet.
|
||||||
*/
|
*/
|
||||||
struct ContextShareGroup
|
struct ContextShareGroup
|
||||||
{
|
{
|
||||||
|
@ -528,7 +528,7 @@ gst_gl_context_get_current_gl_context (GstGLPlatform context_type)
|
||||||
* @name: the name of the function to retrieve
|
* @name: the name of the function to retrieve
|
||||||
*
|
*
|
||||||
* Attempts to use the @context_type specific GetProcAddress implementations
|
* Attempts to use the @context_type specific GetProcAddress implementations
|
||||||
* to retreive @name.
|
* to retrieve @name.
|
||||||
*
|
*
|
||||||
* See also gst_gl_context_get_proc_address().
|
* See also gst_gl_context_get_proc_address().
|
||||||
*
|
*
|
||||||
|
@ -843,7 +843,7 @@ gst_gl_context_get_gl_api (GstGLContext * context)
|
||||||
* Get a function pointer to a specified opengl function, @name. If the the
|
* Get a function pointer to a specified opengl function, @name. If the the
|
||||||
* specific function does not exist, NULL is returned instead.
|
* specific function does not exist, NULL is returned instead.
|
||||||
*
|
*
|
||||||
* Platform specfic functions (names starting 'egl', 'glX', 'wgl', etc) can also
|
* Platform specific functions (names starting 'egl', 'glX', 'wgl', etc) can also
|
||||||
* be retrieved using this method.
|
* be retrieved using this method.
|
||||||
*
|
*
|
||||||
* Note: This function may return valid function pointers that may not be valid
|
* Note: This function may return valid function pointers that may not be valid
|
||||||
|
@ -1604,7 +1604,7 @@ gst_gl_context_thread_add (GstGLContext * context,
|
||||||
* @min: (out): resulting minor version
|
* @min: (out): resulting minor version
|
||||||
*
|
*
|
||||||
* Returns the OpenGL version implemented by @context. See
|
* Returns the OpenGL version implemented by @context. See
|
||||||
* gst_gl_context_get_gl_api() for retreiving the OpenGL api implemented by
|
* gst_gl_context_get_gl_api() for retrieving the OpenGL api implemented by
|
||||||
* @context.
|
* @context.
|
||||||
*
|
*
|
||||||
* Since: 1.4
|
* Since: 1.4
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
* @see_also: #GstContext, #GstGLContext, #GstGLWindow
|
* @see_also: #GstContext, #GstGLContext, #GstGLWindow
|
||||||
*
|
*
|
||||||
* #GstGLDisplay represents a connection to the underlying windowing system.
|
* #GstGLDisplay represents a connection to the underlying windowing system.
|
||||||
* Elements are required to make use of #GstContext to share and propogate
|
* Elements are required to make use of #GstContext to share and propagate
|
||||||
* a #GstGLDisplay.
|
* a #GstGLDisplay.
|
||||||
*
|
*
|
||||||
* There are a number of environment variables that influence the choice of
|
* There are a number of environment variables that influence the choice of
|
||||||
|
@ -402,7 +402,7 @@ gst_gl_display_default_get_foreign_display (GstGLDisplay * display)
|
||||||
*
|
*
|
||||||
* limit the use of OpenGL to the requested @gl_api. This is intended to allow
|
* limit the use of OpenGL to the requested @gl_api. This is intended to allow
|
||||||
* application and elements to request a specific set of OpenGL API's based on
|
* application and elements to request a specific set of OpenGL API's based on
|
||||||
* what they support. See gst_gl_context_get_gl_api() for the retreiving the
|
* what they support. See gst_gl_context_get_gl_api() for the retrieving the
|
||||||
* API supported by a #GstGLContext.
|
* API supported by a #GstGLContext.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
|
@ -637,7 +637,7 @@ gst_gl_display_remove_window (GstGLDisplay * display, GstGLWindow * window)
|
||||||
* @compare_func: (scope call): a comparison function to run
|
* @compare_func: (scope call): a comparison function to run
|
||||||
*
|
*
|
||||||
* Execute @compare_func over the list of windows stored by @display. The
|
* Execute @compare_func over the list of windows stored by @display. The
|
||||||
* first argment to @compare_func is the #GstGLWindow being checked and the
|
* first argument to @compare_func is the #GstGLWindow being checked and the
|
||||||
* second argument is @data.
|
* second argument is @data.
|
||||||
*
|
*
|
||||||
* Returns: (transfer none): The first #GstGLWindow that causes a match
|
* Returns: (transfer none): The first #GstGLWindow that causes a match
|
||||||
|
|
|
@ -57,7 +57,7 @@ _init_debug (void)
|
||||||
* @name: the extension to search for
|
* @name: the extension to search for
|
||||||
* @ext: the list of possible extensions
|
* @ext: the list of possible extensions
|
||||||
*
|
*
|
||||||
* Returns: whether @name is in the space seperated list of @ext
|
* Returns: whether @name is in the space separated list of @ext
|
||||||
*/
|
*/
|
||||||
gboolean
|
gboolean
|
||||||
gst_gl_check_extension (const char *name, const gchar * ext)
|
gst_gl_check_extension (const char *name, const gchar * ext)
|
||||||
|
|
|
@ -458,7 +458,7 @@ gst_gl_filter_fixate_caps (GstBaseTransform * bt,
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If all this failed, keep the height that was nearest to the orignal
|
/* If all this failed, keep the height that was nearest to the original
|
||||||
* height and the nearest possible width. This changes the DAR but
|
* height and the nearest possible width. This changes the DAR but
|
||||||
* there's not much else to do here.
|
* there's not much else to do here.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -491,7 +491,7 @@ gst_gl_texture_target_to_string (GstGLTextureTarget target)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gst_gl_texture_target_from_string:
|
* gst_gl_texture_target_from_string:
|
||||||
* @str: a string equivalant to one of the GST_GL_TEXTURE_TARGET_*_STR values
|
* @str: a string equivalent to one of the GST_GL_TEXTURE_TARGET_*_STR values
|
||||||
*
|
*
|
||||||
* Returns: the #GstGLTextureTarget represented by @str or
|
* Returns: the #GstGLTextureTarget represented by @str or
|
||||||
* %GST_GL_TEXTURE_TARGET_NONE
|
* %GST_GL_TEXTURE_TARGET_NONE
|
||||||
|
|
|
@ -485,7 +485,7 @@ gst_gl_framebuffer_attach (GstGLFramebuffer * fb, guint attachment_point,
|
||||||
* @width: (out) (allow-none): output width
|
* @width: (out) (allow-none): output width
|
||||||
* @height: (out) (allow-none): output height
|
* @height: (out) (allow-none): output height
|
||||||
*
|
*
|
||||||
* Retreive the effective dimensions from the current attachments attached to
|
* Retrieve the effective dimensions from the current attachments attached to
|
||||||
* @fb.
|
* @fb.
|
||||||
*
|
*
|
||||||
* Since: 1.10
|
* Since: 1.10
|
||||||
|
|
|
@ -60,7 +60,7 @@ static GstAllocator *_gl_memory_allocator;
|
||||||
GST_DEBUG_CATEGORY_STATIC (GST_CAT_GL_MEMORY);
|
GST_DEBUG_CATEGORY_STATIC (GST_CAT_GL_MEMORY);
|
||||||
#define GST_CAT_DEFAULT GST_CAT_GL_MEMORY
|
#define GST_CAT_DEFAULT GST_CAT_GL_MEMORY
|
||||||
|
|
||||||
/* compatability definitions... */
|
/* compatibility definitions... */
|
||||||
#ifndef GL_UNPACK_ROW_LENGTH
|
#ifndef GL_UNPACK_ROW_LENGTH
|
||||||
#define GL_UNPACK_ROW_LENGTH 0x0CF2
|
#define GL_UNPACK_ROW_LENGTH 0x0CF2
|
||||||
#endif
|
#endif
|
||||||
|
@ -985,7 +985,7 @@ gst_gl_memory_allocator_init (GstGLMemoryAllocator * allocator)
|
||||||
* Copies @gl_mem into the texture specfified by @tex_id. The format of @tex_id
|
* Copies @gl_mem into the texture specfified by @tex_id. The format of @tex_id
|
||||||
* is specified by @tex_format, @width and @height.
|
* is specified by @tex_format, @width and @height.
|
||||||
*
|
*
|
||||||
* Returns: Whether the copy suceeded
|
* Returns: Whether the copy succeeded
|
||||||
*
|
*
|
||||||
* Since: 1.8
|
* Since: 1.8
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -73,7 +73,7 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_GL_MEMORY);
|
||||||
|
|
||||||
static GstAllocator *_gl_allocator;
|
static GstAllocator *_gl_allocator;
|
||||||
|
|
||||||
/* compatability definitions... */
|
/* compatibility definitions... */
|
||||||
#ifndef GL_PIXEL_PACK_BUFFER
|
#ifndef GL_PIXEL_PACK_BUFFER
|
||||||
#define GL_PIXEL_PACK_BUFFER 0x88EB
|
#define GL_PIXEL_PACK_BUFFER 0x88EB
|
||||||
#endif
|
#endif
|
||||||
|
@ -715,7 +715,7 @@ gst_gl_memory_pbo_allocator_init (GstGLMemoryPBOAllocator * allocator)
|
||||||
* using glCopyTexImage. See the OpenGL specification for details on the
|
* using glCopyTexImage. See the OpenGL specification for details on the
|
||||||
* mappings between texture formats.
|
* mappings between texture formats.
|
||||||
*
|
*
|
||||||
* Returns: Whether the copy suceeded
|
* Returns: Whether the copy succeeded
|
||||||
*
|
*
|
||||||
* Since: 1.8
|
* Since: 1.8
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -438,7 +438,7 @@ gst_gl_shader_detach_unlocked (GstGLShader * shader, GstGLSLStage * stage)
|
||||||
g_return_if_fail (GST_IS_GLSL_STAGE (stage));
|
g_return_if_fail (GST_IS_GLSL_STAGE (stage));
|
||||||
|
|
||||||
if (!_gst_glsl_funcs_fill (&shader->priv->vtable, shader->context)) {
|
if (!_gst_glsl_funcs_fill (&shader->priv->vtable, shader->context)) {
|
||||||
GST_WARNING_OBJECT (shader, "Failed to retreive required GLSL functions");
|
GST_WARNING_OBJECT (shader, "Failed to retrieve required GLSL functions");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -519,7 +519,7 @@ gst_gl_shader_attach_unlocked (GstGLShader * shader, GstGLSLStage * stage)
|
||||||
g_return_val_if_fail (GST_IS_GLSL_STAGE (stage), FALSE);
|
g_return_val_if_fail (GST_IS_GLSL_STAGE (stage), FALSE);
|
||||||
|
|
||||||
if (!_gst_glsl_funcs_fill (&shader->priv->vtable, shader->context)) {
|
if (!_gst_glsl_funcs_fill (&shader->priv->vtable, shader->context)) {
|
||||||
GST_WARNING_OBJECT (shader, "Failed to retreive required GLSL functions");
|
GST_WARNING_OBJECT (shader, "Failed to retrieve required GLSL functions");
|
||||||
gst_object_ref_sink (stage);
|
gst_object_ref_sink (stage);
|
||||||
gst_object_unref (stage);
|
gst_object_unref (stage);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -661,7 +661,7 @@ gst_gl_shader_link (GstGLShader * shader, GError ** error)
|
||||||
|
|
||||||
if (!_gst_glsl_funcs_fill (&shader->priv->vtable, shader->context)) {
|
if (!_gst_glsl_funcs_fill (&shader->priv->vtable, shader->context)) {
|
||||||
g_set_error (error, GST_GLSL_ERROR, GST_GLSL_ERROR_PROGRAM,
|
g_set_error (error, GST_GLSL_ERROR, GST_GLSL_ERROR_PROGRAM,
|
||||||
"Failed to retreive required GLSL functions");
|
"Failed to retrieve required GLSL functions");
|
||||||
GST_OBJECT_UNLOCK (shader);
|
GST_OBJECT_UNLOCK (shader);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -1279,7 +1279,7 @@ gst_gl_shader_get_attribute_location (GstGLShader * shader, const gchar * name)
|
||||||
shader->context->gl_vtable->GetAttribLocation (shader->priv->
|
shader->context->gl_vtable->GetAttribLocation (shader->priv->
|
||||||
program_handle, name);
|
program_handle, name);
|
||||||
|
|
||||||
GST_TRACE_OBJECT (shader, "retreived program %i attribute \'%s\' location %i",
|
GST_TRACE_OBJECT (shader, "retrieved program %i attribute \'%s\' location %i",
|
||||||
(int) shader->priv->program_handle, name, ret);
|
(int) shader->priv->program_handle, name, ret);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -410,7 +410,7 @@ _gst_glsl_shader_string_find_version (const gchar * str)
|
||||||
|
|
||||||
_init_debug ();
|
_init_debug ();
|
||||||
|
|
||||||
/* search for #version while allowing for preceeding comments/whitespace as
|
/* search for #version while allowing for preceding comments/whitespace as
|
||||||
* permitted by the GLSL specification */
|
* permitted by the GLSL specification */
|
||||||
while (str && str[i] != '\0' && i < 1024) {
|
while (str && str[i] != '\0' && i < 1024) {
|
||||||
if (str[i] == '\n' || str[i] == '\r') {
|
if (str[i] == '\n' || str[i] == '\r') {
|
||||||
|
@ -576,7 +576,7 @@ gst_gl_context_supports_glsl_profile_version (GstGLContext * context,
|
||||||
if ((profile & GST_GLSL_PROFILE_COMPATIBILITY) == 0)
|
if ((profile & GST_GLSL_PROFILE_COMPATIBILITY) == 0)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
} else if ((gst_gl_context_get_gl_api (context) & GST_GL_API_OPENGL3) != 0) {
|
} else if ((gst_gl_context_get_gl_api (context) & GST_GL_API_OPENGL3) != 0) {
|
||||||
/* GL_ARB_es2_compatibility is requried for GL3 contexts */
|
/* GL_ARB_es2_compatibility is required for GL3 contexts */
|
||||||
if ((profile & (GST_GLSL_PROFILE_CORE | GST_GLSL_PROFILE_ES)) == 0)
|
if ((profile & (GST_GLSL_PROFILE_CORE | GST_GLSL_PROFILE_ES)) == 0)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
} else {
|
} else {
|
||||||
|
@ -608,7 +608,7 @@ gst_gl_context_supports_glsl_profile_version (GstGLContext * context,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if (gst_gl_context_check_gl_version (context, GST_GL_API_OPENGL3, 1, 0))
|
if (gst_gl_context_check_gl_version (context, GST_GL_API_OPENGL3, 1, 0))
|
||||||
/* GL_ARB_es2_compatibility is requried for GL3 contexts */
|
/* GL_ARB_es2_compatibility is required for GL3 contexts */
|
||||||
if (version < GST_GLSL_VERSION_150 && version != GST_GLSL_VERSION_100)
|
if (version < GST_GLSL_VERSION_150 && version != GST_GLSL_VERSION_100)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
|
|
@ -38,9 +38,9 @@ GQuark gst_glsl_error_quark (void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GstGLSLError:
|
* GstGLSLError:
|
||||||
* @GST_GLSL_ERROR_COMPILE: Compilation error occured
|
* @GST_GLSL_ERROR_COMPILE: Compilation error occurred
|
||||||
* @GST_GLSL_ERROR_LINK: Link error occured
|
* @GST_GLSL_ERROR_LINK: Link error occurred
|
||||||
* @GST_GLSL_ERROR_PROGRAM: General program error occured
|
* @GST_GLSL_ERROR_PROGRAM: General program error occurred
|
||||||
*
|
*
|
||||||
* Compilation stage that caused an error
|
* Compilation stage that caused an error
|
||||||
*
|
*
|
||||||
|
|
|
@ -158,9 +158,9 @@ _shader_type_to_string (GLenum type)
|
||||||
case GL_FRAGMENT_SHADER:
|
case GL_FRAGMENT_SHADER:
|
||||||
return "fragment";
|
return "fragment";
|
||||||
case GL_TESS_CONTROL_SHADER:
|
case GL_TESS_CONTROL_SHADER:
|
||||||
return "tesselation control";
|
return "tessellation control";
|
||||||
case GL_TESS_EVALUATION_SHADER:
|
case GL_TESS_EVALUATION_SHADER:
|
||||||
return "tesselation evaluation";
|
return "tessellation evaluation";
|
||||||
case GL_GEOMETRY_SHADER:
|
case GL_GEOMETRY_SHADER:
|
||||||
return "geometry";
|
return "geometry";
|
||||||
case GL_COMPUTE_SHADER:
|
case GL_COMPUTE_SHADER:
|
||||||
|
@ -526,7 +526,7 @@ _compile_shader (GstGLContext * context, struct compile *data)
|
||||||
* @stage: a #GstGLSLStage
|
* @stage: a #GstGLSLStage
|
||||||
* @error: a #GError to use on failure
|
* @error: a #GError to use on failure
|
||||||
*
|
*
|
||||||
* Returns: whether the compilation suceeded
|
* Returns: whether the compilation succeeded
|
||||||
*
|
*
|
||||||
* Since: 1.8
|
* Since: 1.8
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -495,7 +495,7 @@ struct DmabufUpload
|
||||||
|
|
||||||
gboolean direct;
|
gboolean direct;
|
||||||
GstVideoInfo out_info;
|
GstVideoInfo out_info;
|
||||||
/* only used for pointer comparision */
|
/* only used for pointer comparison */
|
||||||
gpointer out_caps;
|
gpointer out_caps;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -792,7 +792,7 @@ static const UploadMethod _dma_buf_upload = {
|
||||||
&_dma_buf_upload_free
|
&_dma_buf_upload_free
|
||||||
};
|
};
|
||||||
|
|
||||||
/* a variant of the DMABuf uploader that relies on HW color convertion instead
|
/* a variant of the DMABuf uploader that relies on HW color conversion instead
|
||||||
* of shaders */
|
* of shaders */
|
||||||
|
|
||||||
static gpointer
|
static gpointer
|
||||||
|
|
|
@ -39,7 +39,7 @@ GType gst_gl_upload_get_type (void);
|
||||||
/**
|
/**
|
||||||
* GstGLUploadReturn:
|
* GstGLUploadReturn:
|
||||||
* @GST_GL_UPLOAD_DONE: No further processing required
|
* @GST_GL_UPLOAD_DONE: No further processing required
|
||||||
* @GST_GL_UPLOAD_ERROR: An unspecified error occured
|
* @GST_GL_UPLOAD_ERROR: An unspecified error occurred
|
||||||
* @GST_GL_UPLOAD_UNSUPPORTED: The configuration is unsupported.
|
* @GST_GL_UPLOAD_UNSUPPORTED: The configuration is unsupported.
|
||||||
* @GST_GL_UPLOAD_RECONFIGURE: This element requires a reconfiguration.
|
* @GST_GL_UPLOAD_RECONFIGURE: This element requires a reconfiguration.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -291,7 +291,7 @@ gst_gl_ensure_element_data (gpointer element, GstGLDisplay ** display_ptr,
|
||||||
if (gst_gl_display_found (element, *display_ptr))
|
if (gst_gl_display_found (element, *display_ptr))
|
||||||
goto get_gl_context;
|
goto get_gl_context;
|
||||||
|
|
||||||
/* If no neighboor, or application not interested, use system default */
|
/* If no neighbor, or application not interested, use system default */
|
||||||
display = gst_gl_display_new ();
|
display = gst_gl_display_new ();
|
||||||
|
|
||||||
*display_ptr = display;
|
*display_ptr = display;
|
||||||
|
@ -837,7 +837,7 @@ gst_gl_multiply_matrix4 (const gfloat * a, const gfloat * b, gfloat * result)
|
||||||
* Retrieves the stored 4x4 affine transformation matrix stored in @meta in
|
* Retrieves the stored 4x4 affine transformation matrix stored in @meta in
|
||||||
* NDC coordinates. if @meta is NULL, an identity matrix is returned.
|
* NDC coordinates. if @meta is NULL, an identity matrix is returned.
|
||||||
*
|
*
|
||||||
* NDC is a left-handed coordinate sytem
|
* NDC is a left-handed coordinate system
|
||||||
* - x - [-1, 1] - +ve X moves right
|
* - x - [-1, 1] - +ve X moves right
|
||||||
* - y - [-1, 1] - +ve Y moves up
|
* - y - [-1, 1] - +ve Y moves up
|
||||||
* - z - [-1, 1] - +ve Z moves into
|
* - z - [-1, 1] - +ve Z moves into
|
||||||
|
|
|
@ -1889,7 +1889,7 @@ _do_view_convert_draw (GstGLContext * context, GstGLViewConvert * viewconvert)
|
||||||
|
|
||||||
gst_gl_shader_use (viewconvert->shader);
|
gst_gl_shader_use (viewconvert->shader);
|
||||||
|
|
||||||
/* FIXME: the auxillary buffer could have a different transform matrix */
|
/* FIXME: the auxiliary buffer could have a different transform matrix */
|
||||||
{
|
{
|
||||||
GstVideoAffineTransformationMeta *af_meta;
|
GstVideoAffineTransformationMeta *af_meta;
|
||||||
gfloat matrix[16];
|
gfloat matrix[16];
|
||||||
|
@ -2079,7 +2079,7 @@ _do_view_convert (GstGLContext * context, GstGLViewConvert * viewconvert)
|
||||||
|| out_tex->tex_format == GST_GL_LUMINANCE_ALPHA
|
|| out_tex->tex_format == GST_GL_LUMINANCE_ALPHA
|
||||||
|| out_width != width || out_height != height) {
|
|| out_width != width || out_height != height) {
|
||||||
/* Luminance formats are not color renderable */
|
/* Luminance formats are not color renderable */
|
||||||
/* renderering to a framebuffer only renders the intersection of all
|
/* rendering to a framebuffer only renders the intersection of all
|
||||||
* the attachments i.e. the smallest attachment size */
|
* the attachments i.e. the smallest attachment size */
|
||||||
if (!priv->out_tex[j]) {
|
if (!priv->out_tex[j]) {
|
||||||
GstGLVideoAllocationParams *params;
|
GstGLVideoAllocationParams *params;
|
||||||
|
@ -2227,7 +2227,7 @@ gst_gl_view_convert_submit_input_buffer (GstGLViewConvert * viewconvert,
|
||||||
target = &viewconvert->priv->primary_in;
|
target = &viewconvert->priv->primary_in;
|
||||||
|
|
||||||
/* For frame-by-frame mode, we need to collect the 2nd eye into
|
/* For frame-by-frame mode, we need to collect the 2nd eye into
|
||||||
* our auxilliary buffer */
|
* our auxiliary buffer */
|
||||||
if (mode == GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME) {
|
if (mode == GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME) {
|
||||||
if (!GST_BUFFER_FLAG_IS_SET (input, GST_VIDEO_BUFFER_FLAG_FIRST_IN_BUNDLE))
|
if (!GST_BUFFER_FLAG_IS_SET (input, GST_VIDEO_BUFFER_FLAG_FIRST_IN_BUNDLE))
|
||||||
target = &viewconvert->priv->auxilliary_in;
|
target = &viewconvert->priv->auxilliary_in;
|
||||||
|
|
|
@ -622,7 +622,7 @@ gst_gl_window_default_send_message (GstGLWindow * window,
|
||||||
* @callback: (scope async): function to invoke
|
* @callback: (scope async): function to invoke
|
||||||
* @data: (closure): data to invoke @callback with
|
* @data: (closure): data to invoke @callback with
|
||||||
*
|
*
|
||||||
* Invoke @callback with data on the window thread. @callback is guarenteed to
|
* Invoke @callback with data on the window thread. @callback is guaranteed to
|
||||||
* have executed when this function returns.
|
* have executed when this function returns.
|
||||||
*
|
*
|
||||||
* Since: 1.4
|
* Since: 1.4
|
||||||
|
@ -739,7 +739,7 @@ gst_gl_window_send_message_async (GstGLWindow * window, GstGLWindowCB callback,
|
||||||
* @data: (closure): data to invoke @callback with
|
* @data: (closure): data to invoke @callback with
|
||||||
* @destroy_notify: called when @data is not needed any more
|
* @destroy_notify: called when @data is not needed any more
|
||||||
*
|
*
|
||||||
* Sets the draw callback called everytime gst_gl_window_draw() is called
|
* Sets the draw callback called every time gst_gl_window_draw() is called
|
||||||
*
|
*
|
||||||
* Since: 1.4
|
* Since: 1.4
|
||||||
*/
|
*/
|
||||||
|
@ -768,7 +768,7 @@ gst_gl_window_set_draw_callback (GstGLWindow * window, GstGLWindowCB callback,
|
||||||
* @data: (closure): data to invoke @callback with
|
* @data: (closure): data to invoke @callback with
|
||||||
* @destroy_notify: called when @data is not needed any more
|
* @destroy_notify: called when @data is not needed any more
|
||||||
*
|
*
|
||||||
* Sets the resize callback called everytime a resize of the window occurs.
|
* Sets the resize callback called every time a resize of the window occurs.
|
||||||
*
|
*
|
||||||
* Since: 1.4
|
* Since: 1.4
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -74,7 +74,7 @@ typedef void (*GstGLWindowResizeCB) (gpointer data, guint width, guint height);
|
||||||
* GST_GL_WINDOW_CB:
|
* GST_GL_WINDOW_CB:
|
||||||
* @f: the function to cast
|
* @f: the function to cast
|
||||||
*
|
*
|
||||||
* Cast to the currect function type for generic window callbacks
|
* Cast to the current function type for generic window callbacks
|
||||||
*/
|
*/
|
||||||
#define GST_GL_WINDOW_CB(f) ((GstGLWindowCB) (f))
|
#define GST_GL_WINDOW_CB(f) ((GstGLWindowCB) (f))
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ typedef void (*GstGLWindowResizeCB) (gpointer data, guint width, guint height);
|
||||||
* GST_GL_WINDOW_RESIZE_CB:
|
* GST_GL_WINDOW_RESIZE_CB:
|
||||||
* @f: the function to cast
|
* @f: the function to cast
|
||||||
*
|
*
|
||||||
* Cast to the currect function type for window resize callbacks
|
* Cast to the current function type for window resize callbacks
|
||||||
*/
|
*/
|
||||||
#define GST_GL_WINDOW_RESIZE_CB(f) ((GstGLWindowResizeCB) (f))
|
#define GST_GL_WINDOW_RESIZE_CB(f) ((GstGLWindowResizeCB) (f))
|
||||||
|
|
||||||
|
|
|
@ -140,7 +140,7 @@ gst_gl_window_viv_fb_egl_open (GstGLWindow * window, GError ** error)
|
||||||
window_egl->window_height);
|
window_egl->window_height);
|
||||||
|
|
||||||
GST_DEBUG
|
GST_DEBUG
|
||||||
("Opened Vivante FB display succesfully, resolution is (%dx%d), display %p, window %p.",
|
("Opened Vivante FB display successfully, resolution is (%dx%d), display %p, window %p.",
|
||||||
window_egl->window_width, window_egl->window_height, (gpointer) display,
|
window_egl->window_width, window_egl->window_height, (gpointer) display,
|
||||||
(gpointer) window_egl->win_id);
|
(gpointer) window_egl->win_id);
|
||||||
|
|
||||||
|
|
|
@ -476,7 +476,7 @@ window_proc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
/* transmit messages to the parrent (ex: mouse/keyboard input) */
|
/* transmit messages to the parent (ex: mouse/keyboard input) */
|
||||||
HWND parent_id = window_win32->parent_win_id;
|
HWND parent_id = window_win32->parent_win_id;
|
||||||
if (parent_id)
|
if (parent_id)
|
||||||
PostMessage (parent_id, uMsg, wParam, lParam);
|
PostMessage (parent_id, uMsg, wParam, lParam);
|
||||||
|
|
|
@ -116,7 +116,7 @@ gst_gl_display_x11_new (const gchar * name)
|
||||||
|
|
||||||
ret->xcb_connection = XGetXCBConnection (ret->display);
|
ret->xcb_connection = XGetXCBConnection (ret->display);
|
||||||
if (!ret->xcb_connection) {
|
if (!ret->xcb_connection) {
|
||||||
GST_ERROR ("Failed to open retieve XCB connection from X11 Display");
|
GST_ERROR ("Failed to retrieve XCB connection from X11 Display");
|
||||||
gst_object_unref (ret);
|
gst_object_unref (ret);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -155,7 +155,7 @@ gst_gl_display_x11_new_with_display (Display * display)
|
||||||
|
|
||||||
ret->xcb_connection = XGetXCBConnection (ret->display);
|
ret->xcb_connection = XGetXCBConnection (ret->display);
|
||||||
if (!ret->xcb_connection) {
|
if (!ret->xcb_connection) {
|
||||||
GST_ERROR ("Failed to open retieve XCB connection from X11 Display");
|
GST_ERROR ("Failed to retrieve XCB connection from X11 Display");
|
||||||
gst_object_unref (ret);
|
gst_object_unref (ret);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -840,7 +840,7 @@ sort_fre_profile_matches (FormatRangeExtensionProfileMatch * a,
|
||||||
}
|
}
|
||||||
|
|
||||||
static const GstH265FormatRangeExtensionProfile h265_ext_profiles[] = {
|
static const GstH265FormatRangeExtensionProfile h265_ext_profiles[] = {
|
||||||
/* FIXME 2.0: Consider ':' seperated subsampling notation for consistency
|
/* FIXME 2.0: Consider ':' separated subsampling notation for consistency
|
||||||
* https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/merge_requests/23
|
* https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/merge_requests/23
|
||||||
*/
|
*/
|
||||||
/* *INDENT-OFF* */
|
/* *INDENT-OFF* */
|
||||||
|
@ -1066,9 +1066,9 @@ gst_codec_utils_h265_get_profile (const guint8 * profile_tier_level, guint len)
|
||||||
guint extra_constraints = 0;
|
guint extra_constraints = 0;
|
||||||
FormatRangeExtensionProfileMatch *m;
|
FormatRangeExtensionProfileMatch *m;
|
||||||
|
|
||||||
/* Filter out all the profiles having constraints not satisified by
|
/* Filter out all the profiles having constraints not satisfied by
|
||||||
* @ext_profile.
|
* @ext_profile.
|
||||||
* Then pick the one having the least extra contraints. This allow us
|
* Then pick the one having the least extra constraints. This allow us
|
||||||
* to match the closet profile if bitstream contains not standard
|
* to match the closet profile if bitstream contains not standard
|
||||||
* constraints. */
|
* constraints. */
|
||||||
if (p.max_14bit_constraint_flag != ext_profile.max_14bit_constraint_flag) {
|
if (p.max_14bit_constraint_flag != ext_profile.max_14bit_constraint_flag) {
|
||||||
|
|
|
@ -524,7 +524,7 @@ gst_encoding_profile_get_presence (GstEncodingProfile * profile)
|
||||||
* gst_encoding_profile_get_enabled:
|
* gst_encoding_profile_get_enabled:
|
||||||
* @profile: a #GstEncodingProfile
|
* @profile: a #GstEncodingProfile
|
||||||
*
|
*
|
||||||
* Returns: Whther @profile is enabled or not
|
* Returns: Whether @profile is enabled or not
|
||||||
*
|
*
|
||||||
* Since: 1.6
|
* Since: 1.6
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -225,7 +225,7 @@ GstEncodingContainerProfile * gst_encoding_container_profile_new (const gchar *
|
||||||
const gchar *preset);
|
const gchar *preset);
|
||||||
|
|
||||||
|
|
||||||
/* Invidual stream encodingprofile API */
|
/* Individual stream encodingprofile API */
|
||||||
|
|
||||||
GST_PBUTILS_API
|
GST_PBUTILS_API
|
||||||
GstEncodingVideoProfile * gst_encoding_video_profile_new (GstCaps *format,
|
GstEncodingVideoProfile * gst_encoding_video_profile_new (GstCaps *format,
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
* different names, for example one for transcoding in full HD, another one for
|
* different names, for example one for transcoding in full HD, another one for
|
||||||
* low res, etc.. which are defined in the same encoding target.
|
* low res, etc.. which are defined in the same encoding target.
|
||||||
*
|
*
|
||||||
* Basically if you wan to encode a stream to send it to, say, youtube you should
|
* Basically if you want to encode a stream to send it to, say, youtube you should
|
||||||
* have a Youtube encoding target defined in the "online-service" category.
|
* have a Youtube encoding target defined in the "online-service" category.
|
||||||
*
|
*
|
||||||
* ## Encoding target serialization format
|
* ## Encoding target serialization format
|
||||||
|
@ -758,7 +758,7 @@ empty_name:
|
||||||
/**
|
/**
|
||||||
* gst_encoding_target_load_from_file:
|
* gst_encoding_target_load_from_file:
|
||||||
* @filepath: (type filename): The file location to load the #GstEncodingTarget from
|
* @filepath: (type filename): The file location to load the #GstEncodingTarget from
|
||||||
* @error: If an error occured, this field will be filled in.
|
* @error: If an error occurred, this field will be filled in.
|
||||||
*
|
*
|
||||||
* Opens the provided file and returns the contained #GstEncodingTarget.
|
* Opens the provided file and returns the contained #GstEncodingTarget.
|
||||||
*
|
*
|
||||||
|
@ -862,7 +862,7 @@ gst_encoding_target_subload (gchar * path, const gchar * category,
|
||||||
* valid for target names).
|
* valid for target names).
|
||||||
* @category: (allow-none): the name of the target category, like
|
* @category: (allow-none): the name of the target category, like
|
||||||
* #GST_ENCODING_CATEGORY_DEVICE. Can be %NULL
|
* #GST_ENCODING_CATEGORY_DEVICE. Can be %NULL
|
||||||
* @error: If an error occured, this field will be filled in.
|
* @error: If an error occurred, this field will be filled in.
|
||||||
*
|
*
|
||||||
* Searches for the #GstEncodingTarget with the given name, loads it
|
* Searches for the #GstEncodingTarget with the given name, loads it
|
||||||
* and returns it.
|
* and returns it.
|
||||||
|
@ -975,7 +975,7 @@ invalid_category:
|
||||||
* gst_encoding_target_save_to_file:
|
* gst_encoding_target_save_to_file:
|
||||||
* @target: a #GstEncodingTarget
|
* @target: a #GstEncodingTarget
|
||||||
* @filepath: (type filename): the location to store the @target at.
|
* @filepath: (type filename): the location to store the @target at.
|
||||||
* @error: If an error occured, this field will be filled in.
|
* @error: If an error occurred, this field will be filled in.
|
||||||
*
|
*
|
||||||
* Saves the @target to the provided file location.
|
* Saves the @target to the provided file location.
|
||||||
*
|
*
|
||||||
|
@ -1042,7 +1042,7 @@ write_failed:
|
||||||
/**
|
/**
|
||||||
* gst_encoding_target_save:
|
* gst_encoding_target_save:
|
||||||
* @target: a #GstEncodingTarget
|
* @target: a #GstEncodingTarget
|
||||||
* @error: If an error occured, this field will be filled in.
|
* @error: If an error occurred, this field will be filled in.
|
||||||
*
|
*
|
||||||
* Saves the @target to a default user-local directory.
|
* Saves the @target to a default user-local directory.
|
||||||
*
|
*
|
||||||
|
|
|
@ -1270,7 +1270,7 @@ gst_audio_visualizer_src_event (GstPad * pad, GstObject * parent,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GST_EVENT_RECONFIGURE:
|
case GST_EVENT_RECONFIGURE:
|
||||||
/* dont't forward */
|
/* don't forward */
|
||||||
gst_event_unref (event);
|
gst_event_unref (event);
|
||||||
res = TRUE;
|
res = TRUE;
|
||||||
break;
|
break;
|
||||||
|
@ -1308,7 +1308,7 @@ gst_audio_visualizer_sink_event (GstPad * pad, GstObject * parent,
|
||||||
case GST_EVENT_SEGMENT:
|
case GST_EVENT_SEGMENT:
|
||||||
{
|
{
|
||||||
/* the newsegment values are used to clip the input samples
|
/* the newsegment values are used to clip the input samples
|
||||||
* and to convert the incomming timestamps to running time so
|
* and to convert the incoming timestamps to running time so
|
||||||
* we can do QoS */
|
* we can do QoS */
|
||||||
gst_event_copy_segment (event, &scope->priv->segment);
|
gst_event_copy_segment (event, &scope->priv->segment);
|
||||||
|
|
||||||
|
|
|
@ -1120,7 +1120,7 @@ DISCOVERER_INFO_ACCESSOR_CODE (toc, const GstToc *, NULL);
|
||||||
* Get the installer details for missing elements
|
* Get the installer details for missing elements
|
||||||
*
|
*
|
||||||
* Returns: (transfer none) (array zero-terminated=1): An array of strings
|
* Returns: (transfer none) (array zero-terminated=1): An array of strings
|
||||||
* containing informations about how to install the various missing elements
|
* containing information about how to install the various missing elements
|
||||||
* for @info to be usable. If you wish to use the strings after the life-time
|
* for @info to be usable. If you wish to use the strings after the life-time
|
||||||
* of @info, you will need to copy them.
|
* of @info, you will need to copy them.
|
||||||
*
|
*
|
||||||
|
|
|
@ -1219,7 +1219,7 @@ child_is_raw_stream (const GstCaps * parent, const GstCaps * child)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If a parent is non-NULL, collected stream information will be appended to it
|
/* If a parent is non-NULL, collected stream information will be appended to it
|
||||||
* (and where the information exists, it will be overriden)
|
* (and where the information exists, it will be overridden)
|
||||||
*/
|
*/
|
||||||
static GstDiscovererStreamInfo *
|
static GstDiscovererStreamInfo *
|
||||||
parse_stream_topology (GstDiscoverer * dc, const GstStructure * topology,
|
parse_stream_topology (GstDiscoverer * dc, const GstStructure * topology,
|
||||||
|
@ -1247,7 +1247,7 @@ parse_stream_topology (GstDiscoverer * dc, const GstStructure * topology,
|
||||||
|
|
||||||
if (nval == NULL) {
|
if (nval == NULL) {
|
||||||
/* FIXME : aggregate with information from main streams */
|
/* FIXME : aggregate with information from main streams */
|
||||||
GST_DEBUG ("Coudn't find 'next' ! might be the last entry");
|
GST_DEBUG ("Couldn't find 'next' ! might be the last entry");
|
||||||
} else {
|
} else {
|
||||||
GstPad *srcpad;
|
GstPad *srcpad;
|
||||||
|
|
||||||
|
|
|
@ -124,7 +124,7 @@
|
||||||
* line arguments passed by GStreamer to the helper application into
|
* line arguments passed by GStreamer to the helper application into
|
||||||
* arguments that are understood by the real installer.
|
* arguments that are understood by the real installer.
|
||||||
*
|
*
|
||||||
* The helper application path defined at compile time can be overriden at
|
* The helper application path defined at compile time can be overridden at
|
||||||
* runtime by setting the GST_INSTALL_PLUGINS_HELPER environment
|
* runtime by setting the GST_INSTALL_PLUGINS_HELPER environment
|
||||||
* variable. This can be useful for testing/debugging purposes.
|
* variable. This can be useful for testing/debugging purposes.
|
||||||
*
|
*
|
||||||
|
@ -216,7 +216,7 @@
|
||||||
* - 1 if no appropriate installation candidate for any of the requested
|
* - 1 if no appropriate installation candidate for any of the requested
|
||||||
* plugins could be found. Only return this if nothing has been
|
* plugins could be found. Only return this if nothing has been
|
||||||
* installed (#GST_INSTALL_PLUGINS_NOT_FOUND)
|
* installed (#GST_INSTALL_PLUGINS_NOT_FOUND)
|
||||||
* - 2 if an error occured during the installation. The application will
|
* - 2 if an error occurred during the installation. The application will
|
||||||
* assume that the user will already have seen an error message by the
|
* assume that the user will already have seen an error message by the
|
||||||
* installer in this case and will usually not show another one
|
* installer in this case and will usually not show another one
|
||||||
* (#GST_INSTALL_PLUGINS_ERROR)
|
* (#GST_INSTALL_PLUGINS_ERROR)
|
||||||
|
|
|
@ -38,7 +38,7 @@ G_BEGIN_DECLS
|
||||||
* any of the requested plugins could be found. Only return this if nothing
|
* any of the requested plugins could be found. Only return this if nothing
|
||||||
* has been installed. Return #GST_INSTALL_PLUGINS_PARTIAL_SUCCESS if
|
* has been installed. Return #GST_INSTALL_PLUGINS_PARTIAL_SUCCESS if
|
||||||
* some (but not all) of the requested plugins could be installed.
|
* some (but not all) of the requested plugins could be installed.
|
||||||
* @GST_INSTALL_PLUGINS_ERROR: an error occured during the installation. If
|
* @GST_INSTALL_PLUGINS_ERROR: an error occurred during the installation. If
|
||||||
* this happens, the user has already seen an error message and another
|
* this happens, the user has already seen an error message and another
|
||||||
* one should not be displayed
|
* one should not be displayed
|
||||||
* @GST_INSTALL_PLUGINS_CRASHED: the installer had an unclean exit code
|
* @GST_INSTALL_PLUGINS_CRASHED: the installer had an unclean exit code
|
||||||
|
@ -51,7 +51,7 @@ G_BEGIN_DECLS
|
||||||
* indicate that everything went fine so far and the provided callback
|
* indicate that everything went fine so far and the provided callback
|
||||||
* will be called with the result of the installation later
|
* will be called with the result of the installation later
|
||||||
* @GST_INSTALL_PLUGINS_INTERNAL_FAILURE: some internal failure has
|
* @GST_INSTALL_PLUGINS_INTERNAL_FAILURE: some internal failure has
|
||||||
* occured when trying to start the installer
|
* occurred when trying to start the installer
|
||||||
* @GST_INSTALL_PLUGINS_HELPER_MISSING: the helper script to call the
|
* @GST_INSTALL_PLUGINS_HELPER_MISSING: the helper script to call the
|
||||||
* actual installer is not installed
|
* actual installer is not installed
|
||||||
* @GST_INSTALL_PLUGINS_INSTALL_IN_PROGRESS: a previously-started plugin
|
* @GST_INSTALL_PLUGINS_INSTALL_IN_PROGRESS: a previously-started plugin
|
||||||
|
|
|
@ -504,7 +504,7 @@ typedef struct _gst_riff_acid {
|
||||||
*
|
*
|
||||||
* 0x01 On: One Shot Off: Loop
|
* 0x01 On: One Shot Off: Loop
|
||||||
* 0x02 On: Root note is Set Off: No root
|
* 0x02 On: Root note is Set Off: No root
|
||||||
* 0x04 On: Stretch is On, Off: Strech is OFF
|
* 0x04 On: Stretch is On, Off: Stretch is OFF
|
||||||
* 0x08 On: Disk Based Off: Ram based
|
* 0x08 On: Disk Based Off: Ram based
|
||||||
* 0x10 On: ?????????? Off: ????????? (Acidizer puts that ON)
|
* 0x10 On: ?????????? Off: ????????? (Acidizer puts that ON)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -42,7 +42,7 @@ GST_DEBUG_CATEGORY_EXTERN (riff_debug);
|
||||||
* data that is within the range of strf.size, but excluding any
|
* data that is within the range of strf.size, but excluding any
|
||||||
* additional data withint this chunk but outside strf.size.
|
* additional data withint this chunk but outside strf.size.
|
||||||
* @strf_data: a #GstBuffer containing the additional data in the strf
|
* @strf_data: a #GstBuffer containing the additional data in the strf
|
||||||
* chunk outside reach of strf.size. Ususally a palette.
|
* chunk outside reach of strf.size. Usually a palette.
|
||||||
* @strd_data: a #GstBuffer containing the data in the strd stream header
|
* @strd_data: a #GstBuffer containing the data in the strd stream header
|
||||||
* chunk. Usually codec initialization data.
|
* chunk. Usually codec initialization data.
|
||||||
* @codec_name: if given, will be filled with a human-readable codec name.
|
* @codec_name: if given, will be filled with a human-readable codec name.
|
||||||
|
|
|
@ -26,7 +26,7 @@ The RTP libraries
|
||||||
It is now possible to use all the gst_rtp_buffer_get_*() or
|
It is now possible to use all the gst_rtp_buffer_get_*() or
|
||||||
gst_rtp_buffer_set_*() functions to read or write the different parts of the
|
gst_rtp_buffer_set_*() functions to read or write the different parts of the
|
||||||
RTP header such as the payload type, the sequence number or the RTP
|
RTP header such as the payload type, the sequence number or the RTP
|
||||||
timestamp. The use can also retreive a pointer to the actual RTP payload data
|
timestamp. The use can also retrieve a pointer to the actual RTP payload data
|
||||||
using the gst_rtp_buffer_get_payload() function.
|
using the gst_rtp_buffer_get_payload() function.
|
||||||
|
|
||||||
RTP Base Payloader Class (GstBaseRTPPayload)
|
RTP Base Payloader Class (GstBaseRTPPayload)
|
||||||
|
|
|
@ -121,7 +121,7 @@ gst_rtcp_buffer_validate_data_internal (guint8 * data, guint len,
|
||||||
if (data_len < header_len)
|
if (data_len < header_len)
|
||||||
goto wrong_length;
|
goto wrong_length;
|
||||||
|
|
||||||
/* move to next compount packet */
|
/* move to next compound packet */
|
||||||
data += header_len;
|
data += header_len;
|
||||||
data_len -= header_len;
|
data_len -= header_len;
|
||||||
|
|
||||||
|
@ -561,7 +561,7 @@ gst_rtcp_buffer_add_packet (GstRTCPBuffer * rtcp, GstRTCPType type,
|
||||||
maxsize = rtcp->map.maxsize;
|
maxsize = rtcp->map.maxsize;
|
||||||
|
|
||||||
/* packet->offset is now pointing to the next free offset in the buffer to
|
/* packet->offset is now pointing to the next free offset in the buffer to
|
||||||
* start a compount packet. Next we figure out if we have enough free space in
|
* start a compound packet. Next we figure out if we have enough free space in
|
||||||
* the buffer to continue. */
|
* the buffer to continue. */
|
||||||
len = rtcp_packet_min_length (type);
|
len = rtcp_packet_min_length (type);
|
||||||
if (len == -1)
|
if (len == -1)
|
||||||
|
|
|
@ -843,7 +843,7 @@ set_headers (GstBuffer ** buffer, guint idx, GstRTPBaseDepayload * depayload)
|
||||||
dts = GST_BUFFER_DTS (*buffer);
|
dts = GST_BUFFER_DTS (*buffer);
|
||||||
duration = GST_BUFFER_DURATION (*buffer);
|
duration = GST_BUFFER_DURATION (*buffer);
|
||||||
|
|
||||||
/* apply last incomming timestamp and duration to outgoing buffer if
|
/* apply last incoming timestamp and duration to outgoing buffer if
|
||||||
* not otherwise set. */
|
* not otherwise set. */
|
||||||
if (!GST_CLOCK_TIME_IS_VALID (pts))
|
if (!GST_CLOCK_TIME_IS_VALID (pts))
|
||||||
GST_BUFFER_PTS (*buffer) = priv->pts;
|
GST_BUFFER_PTS (*buffer) = priv->pts;
|
||||||
|
@ -899,7 +899,7 @@ gst_rtp_base_depayload_prepare_push (GstRTPBaseDepayload * filter,
|
||||||
* Push @out_buf to the peer of @filter. This function takes ownership of
|
* Push @out_buf to the peer of @filter. This function takes ownership of
|
||||||
* @out_buf.
|
* @out_buf.
|
||||||
*
|
*
|
||||||
* This function will by default apply the last incomming timestamp on
|
* This function will by default apply the last incoming timestamp on
|
||||||
* the outgoing buffer when it didn't have a timestamp already.
|
* the outgoing buffer when it didn't have a timestamp already.
|
||||||
*
|
*
|
||||||
* Returns: a #GstFlowReturn.
|
* Returns: a #GstFlowReturn.
|
||||||
|
|
|
@ -1516,7 +1516,7 @@ get_onebyte_header_end_offset (guint8 * pdata, guint wordlen)
|
||||||
* RTP header. If there is already a RFC 5285 header extension with a one byte
|
* RTP header. If there is already a RFC 5285 header extension with a one byte
|
||||||
* header, the new extension will be appended.
|
* header, the new extension will be appended.
|
||||||
* It will not work if there is already a header extension that does not follow
|
* It will not work if there is already a header extension that does not follow
|
||||||
* the mecanism described in RFC 5285 or if there is a header extension with
|
* the mechanism described in RFC 5285 or if there is a header extension with
|
||||||
* a two bytes header as described in RFC 5285. In that case, use
|
* a two bytes header as described in RFC 5285. In that case, use
|
||||||
* gst_rtp_buffer_add_extension_twobytes_header()
|
* gst_rtp_buffer_add_extension_twobytes_header()
|
||||||
*
|
*
|
||||||
|
@ -1615,7 +1615,7 @@ get_twobytes_header_end_offset (const guint8 * pdata, guint wordlen)
|
||||||
* RTP header. If there is already a RFC 5285 header extension with a two bytes
|
* RTP header. If there is already a RFC 5285 header extension with a two bytes
|
||||||
* header, the new extension will be appended.
|
* header, the new extension will be appended.
|
||||||
* It will not work if there is already a header extension that does not follow
|
* It will not work if there is already a header extension that does not follow
|
||||||
* the mecanism described in RFC 5285 or if there is a header extension with
|
* the mechanism described in RFC 5285 or if there is a header extension with
|
||||||
* a one byte header as described in RFC 5285. In that case, use
|
* a one byte header as described in RFC 5285. In that case, use
|
||||||
* gst_rtp_buffer_add_extension_onebyte_header()
|
* gst_rtp_buffer_add_extension_onebyte_header()
|
||||||
*
|
*
|
||||||
|
|
|
@ -211,7 +211,7 @@ gst_rtp_payload_info_for_pt (guint8 payload_type)
|
||||||
* mostly used to get the default clock-rate and bandwidth for dynamic payload
|
* mostly used to get the default clock-rate and bandwidth for dynamic payload
|
||||||
* types specified with @media and @encoding name.
|
* types specified with @media and @encoding name.
|
||||||
*
|
*
|
||||||
* The search for @encoding_name will be performed in a case insensitve way.
|
* The search for @encoding_name will be performed in a case insensitive way.
|
||||||
*
|
*
|
||||||
* Returns: a #GstRTPPayloadInfo or NULL when no info could be found.
|
* Returns: a #GstRTPPayloadInfo or NULL when no info could be found.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -2338,7 +2338,7 @@ invalid_format:
|
||||||
* GST_RTSP_OK when a complete message was read.
|
* GST_RTSP_OK when a complete message was read.
|
||||||
* GST_RTSP_EEOF: when the read socket is closed
|
* GST_RTSP_EEOF: when the read socket is closed
|
||||||
* GST_RTSP_EINTR: when more data is needed.
|
* GST_RTSP_EINTR: when more data is needed.
|
||||||
* GST_RTSP_..: some other error occured.
|
* GST_RTSP_..: some other error occurred.
|
||||||
*/
|
*/
|
||||||
static GstRTSPResult
|
static GstRTSPResult
|
||||||
build_next (GstRTSPBuilder * builder, GstRTSPMessage * message,
|
build_next (GstRTSPBuilder * builder, GstRTSPMessage * message,
|
||||||
|
@ -3122,7 +3122,7 @@ str_case_equal (gconstpointer v1, gconstpointer v2)
|
||||||
* @param: authentication directive
|
* @param: authentication directive
|
||||||
* @value: value
|
* @value: value
|
||||||
*
|
*
|
||||||
* Setup @conn with authentication directives. This is not necesary for
|
* Setup @conn with authentication directives. This is not necessary for
|
||||||
* methods #GST_RTSP_AUTH_NONE and #GST_RTSP_AUTH_BASIC. For
|
* methods #GST_RTSP_AUTH_NONE and #GST_RTSP_AUTH_BASIC. For
|
||||||
* #GST_RTSP_AUTH_DIGEST, directives should be taken from the digest challenge
|
* #GST_RTSP_AUTH_DIGEST, directives should be taken from the digest challenge
|
||||||
* in the WWW-Authenticate response header and can include realm, domain,
|
* in the WWW-Authenticate response header and can include realm, domain,
|
||||||
|
|
|
@ -250,13 +250,13 @@ typedef struct _GstRTSPWatch GstRTSPWatch;
|
||||||
* @message_received: callback when a message was received
|
* @message_received: callback when a message was received
|
||||||
* @message_sent: callback when a message was sent
|
* @message_sent: callback when a message was sent
|
||||||
* @closed: callback when the connection is closed
|
* @closed: callback when the connection is closed
|
||||||
* @error: callback when an error occured
|
* @error: callback when an error occurred
|
||||||
* @tunnel_start: a client started a tunneled connection. The tunnelid of the
|
* @tunnel_start: a client started a tunneled connection. The tunnelid of the
|
||||||
* connection must be saved.
|
* connection must be saved.
|
||||||
* @tunnel_complete: a client finished a tunneled connection. In this callback
|
* @tunnel_complete: a client finished a tunneled connection. In this callback
|
||||||
* you usually pair the tunnelid of this connection with the saved one using
|
* you usually pair the tunnelid of this connection with the saved one using
|
||||||
* gst_rtsp_connection_do_tunnel().
|
* gst_rtsp_connection_do_tunnel().
|
||||||
* @error_full: callback when an error occured with more information than
|
* @error_full: callback when an error occurred with more information than
|
||||||
* the @error callback.
|
* the @error callback.
|
||||||
* @tunnel_lost: callback when the post connection of a tunnel is closed.
|
* @tunnel_lost: callback when the post connection of a tunnel is closed.
|
||||||
* @tunnel_http_response: callback when an HTTP response to the GET request
|
* @tunnel_http_response: callback when an HTTP response to the GET request
|
||||||
|
|
|
@ -65,20 +65,20 @@ G_STMT_START { \
|
||||||
/**
|
/**
|
||||||
* GstRTSPResult:
|
* GstRTSPResult:
|
||||||
* @GST_RTSP_OK: no error
|
* @GST_RTSP_OK: no error
|
||||||
* @GST_RTSP_ERROR: some unspecified error occured
|
* @GST_RTSP_ERROR: some unspecified error occurred
|
||||||
* @GST_RTSP_EINVAL: invalid arguments were provided to a function
|
* @GST_RTSP_EINVAL: invalid arguments were provided to a function
|
||||||
* @GST_RTSP_EINTR: an operation was canceled
|
* @GST_RTSP_EINTR: an operation was canceled
|
||||||
* @GST_RTSP_ENOMEM: no memory was available for the operation
|
* @GST_RTSP_ENOMEM: no memory was available for the operation
|
||||||
* @GST_RTSP_ERESOLV: a host resolve error occured
|
* @GST_RTSP_ERESOLV: a host resolve error occurred
|
||||||
* @GST_RTSP_ENOTIMPL: function not implemented
|
* @GST_RTSP_ENOTIMPL: function not implemented
|
||||||
* @GST_RTSP_ESYS: a system error occured, errno contains more details
|
* @GST_RTSP_ESYS: a system error occurred, errno contains more details
|
||||||
* @GST_RTSP_EPARSE: a parsing error occured
|
* @GST_RTSP_EPARSE: a parsing error occurred
|
||||||
* @GST_RTSP_EWSASTART: windows networking could not start
|
* @GST_RTSP_EWSASTART: windows networking could not start
|
||||||
* @GST_RTSP_EWSAVERSION: windows networking stack has wrong version
|
* @GST_RTSP_EWSAVERSION: windows networking stack has wrong version
|
||||||
* @GST_RTSP_EEOF: end-of-file was reached
|
* @GST_RTSP_EEOF: end-of-file was reached
|
||||||
* @GST_RTSP_ENET: a network problem occured, h_errno contains more details
|
* @GST_RTSP_ENET: a network problem occurred, h_errno contains more details
|
||||||
* @GST_RTSP_ENOTIP: the host is not an IP host
|
* @GST_RTSP_ENOTIP: the host is not an IP host
|
||||||
* @GST_RTSP_ETIMEOUT: a timeout occured
|
* @GST_RTSP_ETIMEOUT: a timeout occurred
|
||||||
* @GST_RTSP_ETGET: the tunnel GET request has been performed
|
* @GST_RTSP_ETGET: the tunnel GET request has been performed
|
||||||
* @GST_RTSP_ETPOST: the tunnel POST request has been performed
|
* @GST_RTSP_ETPOST: the tunnel POST request has been performed
|
||||||
* @GST_RTSP_ELAST: last error
|
* @GST_RTSP_ELAST: last error
|
||||||
|
@ -267,7 +267,7 @@ typedef enum {
|
||||||
GST_RTSP_HDR_PROXY_REQUIRE, /* Proxy-Require R req. all */
|
GST_RTSP_HDR_PROXY_REQUIRE, /* Proxy-Require R req. all */
|
||||||
GST_RTSP_HDR_PUBLIC, /* Public r opt. all */
|
GST_RTSP_HDR_PUBLIC, /* Public r opt. all */
|
||||||
GST_RTSP_HDR_RANGE, /* Range Rr opt. PLAY, PAUSE, RECORD */
|
GST_RTSP_HDR_RANGE, /* Range Rr opt. PLAY, PAUSE, RECORD */
|
||||||
GST_RTSP_HDR_REFERER, /* Referer R opt. all */
|
GST_RTSP_HDR_REFERER, /* Referrer R opt. all */
|
||||||
GST_RTSP_HDR_REQUIRE, /* Require R req. all */
|
GST_RTSP_HDR_REQUIRE, /* Require R req. all */
|
||||||
GST_RTSP_HDR_RETRY_AFTER, /* Retry-After r opt. all */
|
GST_RTSP_HDR_RETRY_AFTER, /* Retry-After r opt. all */
|
||||||
GST_RTSP_HDR_RTP_INFO, /* RTP-Info r req. PLAY */
|
GST_RTSP_HDR_RTP_INFO, /* RTP-Info r req. PLAY */
|
||||||
|
|
|
@ -111,7 +111,7 @@ GstRTSPResult gst_rtsp_extension_stream_select (GstRTSPExtension *ext, Gst
|
||||||
GST_RTSP_API
|
GST_RTSP_API
|
||||||
GstRTSPResult gst_rtsp_extension_receive_request (GstRTSPExtension *ext, GstRTSPMessage *req);
|
GstRTSPResult gst_rtsp_extension_receive_request (GstRTSPExtension *ext, GstRTSPMessage *req);
|
||||||
|
|
||||||
/* signal emision */
|
/* signal emission */
|
||||||
|
|
||||||
GST_RTSP_API
|
GST_RTSP_API
|
||||||
GstRTSPResult gst_rtsp_extension_send (GstRTSPExtension *ext, GstRTSPMessage *req,
|
GstRTSPResult gst_rtsp_extension_send (GstRTSPExtension *ext, GstRTSPMessage *req,
|
||||||
|
|
|
@ -1377,7 +1377,7 @@ parse_auth_credentials (GPtrArray * auth_credentials, const gchar * header,
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Basic Authorization request has only an unformated blurb following, all
|
/* Basic Authorization request has only an unformatted blurb following, all
|
||||||
* other variants have comma-separated name=value pairs */
|
* other variants have comma-separated name=value pairs */
|
||||||
if (end[0] != '\0' && field == GST_RTSP_HDR_AUTHORIZATION
|
if (end[0] != '\0' && field == GST_RTSP_HDR_AUTHORIZATION
|
||||||
&& auth_credential->scheme == GST_RTSP_AUTH_BASIC) {
|
&& auth_credential->scheme == GST_RTSP_AUTH_BASIC) {
|
||||||
|
|
|
@ -1147,7 +1147,7 @@ gst_mikey_message_get_payload (const GstMIKEYMessage * msg, guint idx)
|
||||||
* @type: a #GstMIKEYPayloadType
|
* @type: a #GstMIKEYPayloadType
|
||||||
* @nth: payload to find
|
* @nth: payload to find
|
||||||
*
|
*
|
||||||
* Find the @nth occurence of the payload with @type in @msg.
|
* Find the @nth occurrence of the payload with @type in @msg.
|
||||||
*
|
*
|
||||||
* Returns: the @nth #GstMIKEYPayload of @type.
|
* Returns: the @nth #GstMIKEYPayload of @type.
|
||||||
*
|
*
|
||||||
|
|
|
@ -78,7 +78,7 @@ typedef enum
|
||||||
* @GST_MIKEY_PT_ID: ID payload
|
* @GST_MIKEY_PT_ID: ID payload
|
||||||
* @GST_MIKEY_PT_CERT: Certificate Payload
|
* @GST_MIKEY_PT_CERT: Certificate Payload
|
||||||
* @GST_MIKEY_PT_CHASH: Cert hash payload
|
* @GST_MIKEY_PT_CHASH: Cert hash payload
|
||||||
* @GST_MIKEY_PT_V: Verfication message payload
|
* @GST_MIKEY_PT_V: Verification message payload
|
||||||
* @GST_MIKEY_PT_SP: Security Policy payload
|
* @GST_MIKEY_PT_SP: Security Policy payload
|
||||||
* @GST_MIKEY_PT_RAND: RAND payload
|
* @GST_MIKEY_PT_RAND: RAND payload
|
||||||
* @GST_MIKEY_PT_ERR: Error payload
|
* @GST_MIKEY_PT_ERR: Error payload
|
||||||
|
@ -361,7 +361,7 @@ gboolean gst_mikey_payload_t_set (GstMIKEYPayload *payload,
|
||||||
* @len: specifies the length of @val
|
* @len: specifies the length of @val
|
||||||
* @val: specifies the value of the parameter
|
* @val: specifies the value of the parameter
|
||||||
*
|
*
|
||||||
* A Type/Length/Value field for security paramaters
|
* A Type/Length/Value field for security parameters
|
||||||
*/
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
guint8 type;
|
guint8 type;
|
||||||
|
|
|
@ -609,7 +609,7 @@ gst_tag_list_has_ifd_tags (const GstTagList * taglist,
|
||||||
* The tag entry is the tag id, the tag type,
|
* The tag entry is the tag id, the tag type,
|
||||||
* the count and the offset.
|
* the count and the offset.
|
||||||
*
|
*
|
||||||
* The offset is the on the amount of data writen so far, as one
|
* The offset is the on the amount of data written so far, as one
|
||||||
* can't predict the total bytes that the tag entries will take.
|
* can't predict the total bytes that the tag entries will take.
|
||||||
* This means those fields requires being updated later.
|
* This means those fields requires being updated later.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -87,7 +87,7 @@ struct _GstTagDemux
|
||||||
* @merge_tags: merge start and end tags. Subclasses may want to override this
|
* @merge_tags: merge start and end tags. Subclasses may want to override this
|
||||||
* vfunc to allow prioritising of start or end tag according to user
|
* vfunc to allow prioritising of start or end tag according to user
|
||||||
* preference. Note that both start_tags and end_tags may be NULL. By default
|
* preference. Note that both start_tags and end_tags may be NULL. By default
|
||||||
* start tags are prefered over end tags.
|
* start tags are preferred over end tags.
|
||||||
*
|
*
|
||||||
* The #GstTagDemuxClass structure. See documentation at beginning of section
|
* The #GstTagDemuxClass structure. See documentation at beginning of section
|
||||||
* for details about what subclasses need to override and do.
|
* for details about what subclasses need to override and do.
|
||||||
|
|
|
@ -932,7 +932,7 @@ deserialize_tiff_orientation (XmpTag * xmptag, GstTagList * taglist,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* look at this page for addtional schemas
|
/* look at this page for additional schemas
|
||||||
* http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/XMP.html
|
* http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/XMP.html
|
||||||
*/
|
*/
|
||||||
static gpointer
|
static gpointer
|
||||||
|
@ -1078,7 +1078,7 @@ struct _GstXmpNamespaceMatch
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Stores extra namespaces for array tags
|
* Stores extra namespaces for array tags
|
||||||
* The namespaces should be writen in the form:
|
* The namespaces should be written in the form:
|
||||||
*
|
*
|
||||||
* xmlns:XpTo="http://some.org/your/ns/name/ (next ones)"
|
* xmlns:XpTo="http://some.org/your/ns/name/ (next ones)"
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -16,7 +16,7 @@ informal standard is released so that implementors could have a set standard
|
||||||
before a formal standard is set. The formal standard will use another version
|
before a formal standard is set. The formal standard will use another version
|
||||||
or revision number if not identical to what is described in this document. The
|
or revision number if not identical to what is described in this document. The
|
||||||
contents in this document may change for clarifications but never for added or
|
contents in this document may change for clarifications but never for added or
|
||||||
altered functionallity.
|
altered functionality.
|
||||||
Distribution of this document is unlimited.
|
Distribution of this document is unlimited.
|
||||||
|
|
||||||
1.2. Abstract
|
1.2. Abstract
|
||||||
|
@ -316,7 +316,7 @@ defined as follows.
|
||||||
|
|
||||||
|
|
||||||
j - Encryption
|
j - Encryption
|
||||||
This flag indicates wether or not the frame is enrypted. If set one byte
|
This flag indicates whether or not the frame is encrypted. If set one byte
|
||||||
indicating with which method it was encrypted will be appended to the
|
indicating with which method it was encrypted will be appended to the
|
||||||
frame header. See section_4.26. for more information about encryption
|
frame header. See section_4.26. for more information about encryption
|
||||||
method registration.
|
method registration.
|
||||||
|
@ -338,7 +338,7 @@ defined as follows.
|
||||||
Some flags indicates that the frame header is extended with additional
|
Some flags indicates that the frame header is extended with additional
|
||||||
information. This information will be added to the frame header in the same
|
information. This information will be added to the frame header in the same
|
||||||
order as the flags indicating the additions. I.e. the four bytes of
|
order as the flags indicating the additions. I.e. the four bytes of
|
||||||
decompressed size will preceed the encryption method byte. These additions to
|
decompressed size will precede the encryption method byte. These additions to
|
||||||
the frame header, while not included in the frame header size but are included
|
the frame header, while not included in the frame header size but are included
|
||||||
in the 'frame size' field, are not subject to encryption or compression.
|
in the 'frame size' field, are not subject to encryption or compression.
|
||||||
|
|
||||||
|
@ -503,7 +503,7 @@ text information frames have the following format:
|
||||||
|
|
||||||
TCOM
|
TCOM
|
||||||
The 'Composer(s)' frame is intended for the name of the composer(s). They
|
The 'Composer(s)' frame is intended for the name of the composer(s). They
|
||||||
are seperated with the "/" character.
|
are separated with the "/" character.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -563,7 +563,7 @@ text information frames have the following format:
|
||||||
|
|
||||||
TEXT
|
TEXT
|
||||||
The 'Lyricist(s)/Text writer(s)' frame is intended for the writer(s) of
|
The 'Lyricist(s)/Text writer(s)' frame is intended for the writer(s) of
|
||||||
the text or lyrics in the recording. They are seperated with the "/
|
the text or lyrics in the recording. They are separated with the "/
|
||||||
" character.
|
" character.
|
||||||
|
|
||||||
|
|
||||||
|
@ -751,7 +751,7 @@ parentheses. If this frame is not present audio type is assumed to be "MPG".
|
||||||
The 'Original lyricist(s)/text writer(s)' frame is intended for the text
|
The 'Original lyricist(s)/text writer(s)' frame is intended for the text
|
||||||
writer(s) of the original recording, if for example the music in the file
|
writer(s) of the original recording, if for example the music in the file
|
||||||
should be a cover of a previously released song. The text writers are
|
should be a cover of a previously released song. The text writers are
|
||||||
seperated with the "/" character.
|
separated with the "/" character.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -759,7 +759,7 @@ parentheses. If this frame is not present audio type is assumed to be "MPG".
|
||||||
The 'Original artist(s)/performer(s)' frame is intended for the performer
|
The 'Original artist(s)/performer(s)' frame is intended for the performer
|
||||||
(s) of the original recording, if for example the music in the file
|
(s) of the original recording, if for example the music in the file
|
||||||
should be a cover of a previously released song. The performers are
|
should be a cover of a previously released song. The performers are
|
||||||
seperated with the "/" character.
|
separated with the "/" character.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -779,7 +779,7 @@ parentheses. If this frame is not present audio type is assumed to be "MPG".
|
||||||
|
|
||||||
TPE1
|
TPE1
|
||||||
The 'Lead artist(s)/Lead performer(s)/Soloist(s)/Performing group' is
|
The 'Lead artist(s)/Lead performer(s)/Soloist(s)/Performing group' is
|
||||||
used for the main artist(s). They are seperated with the "/" character.
|
used for the main artist(s). They are separated with the "/" character.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -819,7 +819,7 @@ parentheses. If this frame is not present audio type is assumed to be "MPG".
|
||||||
The 'Track number/Position in set' frame is a numeric string containing
|
The 'Track number/Position in set' frame is a numeric string containing
|
||||||
the order number of the audio-file on its original recording. This may be
|
the order number of the audio-file on its original recording. This may be
|
||||||
extended with a "/" character and a numeric string containing the total
|
extended with a "/" character and a numeric string containing the total
|
||||||
numer of tracks/elements on the original recording. E.g. "4/9".
|
number of tracks/elements on the original recording. E.g. "4/9".
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1206,7 +1206,7 @@ language and content descriptor.
|
||||||
|
|
||||||
4.11. Comments
|
4.11. Comments
|
||||||
|
|
||||||
This frame is indended for any kind of full text information that does not fit
|
This frame is intended for any kind of full text information that does not fit
|
||||||
in any other frame. It consists of a frame header followed by encoding,
|
in any other frame. It consists of a frame header followed by encoding,
|
||||||
language and content descriptors and is ended with the actual comment as a text
|
language and content descriptors and is ended with the actual comment as a text
|
||||||
string. Newline characters are allowed in the comment text string. There may be
|
string. Newline characters are allowed in the comment text string. There may be
|
||||||
|
@ -1361,7 +1361,7 @@ Picture type:
|
||||||
$03 Cover (front)
|
$03 Cover (front)
|
||||||
$04 Cover (back)
|
$04 Cover (back)
|
||||||
$05 Leaflet page
|
$05 Leaflet page
|
||||||
$06 Media (e.g. lable side of CD)
|
$06 Media (e.g. label side of CD)
|
||||||
$07 Lead artist/lead performer/soloist
|
$07 Lead artist/lead performer/soloist
|
||||||
$08 Artist/performer
|
$08 Artist/performer
|
||||||
$09 Conductor
|
$09 Conductor
|
||||||
|
@ -1490,7 +1490,7 @@ To keep space waste as low as possible this frame may be used to link
|
||||||
information from another ID3v2 tag that might reside in another audio file or
|
information from another ID3v2 tag that might reside in another audio file or
|
||||||
alone in a binary file. It is recommended that this method is only used when
|
alone in a binary file. It is recommended that this method is only used when
|
||||||
the files are stored on a CD-ROM or other circumstances when the risk of file
|
the files are stored on a CD-ROM or other circumstances when the risk of file
|
||||||
seperation is low. The frame contains a frame identifier, which is the frame
|
separation is low. The frame contains a frame identifier, which is the frame
|
||||||
that should be linked into this tag, a URL field, where a reference to the file
|
that should be linked into this tag, a URL field, where a reference to the file
|
||||||
where the frame is given, and additional ID data, if needed. Data should be
|
where the frame is given, and additional ID data, if needed. Data should be
|
||||||
retrieved from the first tag found in the file to which this link points. There
|
retrieved from the first tag found in the file to which this link points. There
|
||||||
|
@ -1551,7 +1551,7 @@ signed, as proof. Note that the "USER" and "TOWN" frames are good to use in
|
||||||
conjunction with this one. The frame begins, after the frame ID, size and
|
conjunction with this one. The frame begins, after the frame ID, size and
|
||||||
encoding fields, with a 'price payed' field. The first three characters of this
|
encoding fields, with a 'price payed' field. The first three characters of this
|
||||||
field contains the currency used for the transaction, encoded according to ISO-
|
field contains the currency used for the transaction, encoded according to ISO-
|
||||||
4217 alphabetic currency code. Concatenated to this is the actual price payed,
|
4217 alphabetic currency code. Concatenated to this is the actual price paid,
|
||||||
as a numerical string using "." as the decimal separator. Next is an 8
|
as a numerical string using "." as the decimal separator. Next is an 8
|
||||||
character date string (YYYYMMDD) followed by a string with the name of the
|
character date string (YYYYMMDD) followed by a string with the name of the
|
||||||
seller as the last field in the frame. There may only be one "OWNE" frame in a
|
seller as the last field in the frame. There may only be one "OWNE" frame in a
|
||||||
|
@ -1559,7 +1559,7 @@ tag.
|
||||||
|
|
||||||
<Header for 'Ownership frame', ID: "OWNE">
|
<Header for 'Ownership frame', ID: "OWNE">
|
||||||
Text encoding $xx
|
Text encoding $xx
|
||||||
Price payed <text string> $00
|
Price paid <text string> $00
|
||||||
Date of purch. <text string>
|
Date of purch. <text string>
|
||||||
Seller <text string according to encoding>
|
Seller <text string according to encoding>
|
||||||
|
|
||||||
|
@ -1572,8 +1572,8 @@ solution than if one tries to achieve the same result with several frames. The
|
||||||
frame begins, after the frame ID, size and encoding fields, with a price string
|
frame begins, after the frame ID, size and encoding fields, with a price string
|
||||||
field. A price is constructed by one three character currency code, encoded
|
field. A price is constructed by one three character currency code, encoded
|
||||||
according to ISO-4217 alphabetic currency code, followed by a numerical value
|
according to ISO-4217 alphabetic currency code, followed by a numerical value
|
||||||
where "." is used as decimal seperator. In the price string several prices may
|
where "." is used as decimal separator. In the price string several prices may
|
||||||
be concatenated, seperated by a "/" character, but there may only be one
|
be concatenated, separated by a "/" character, but there may only be one
|
||||||
currency of each type.
|
currency of each type.
|
||||||
The price string is followed by an 8 character date string in the format
|
The price string is followed by an 8 character date string in the format
|
||||||
YYYYMMDD, describing for how long the price is valid. After that is a contact
|
YYYYMMDD, describing for how long the price is valid. After that is a contact
|
||||||
|
@ -1850,7 +1850,7 @@ The following genres is defined in ID3v1
|
||||||
64. Native American
|
64. Native American
|
||||||
65. Cabaret
|
65. Cabaret
|
||||||
66. New Wave
|
66. New Wave
|
||||||
67. Psychadelic
|
67. Psychedelic
|
||||||
68. Rave
|
68. Rave
|
||||||
69. Showtunes
|
69. Showtunes
|
||||||
70. Trailer
|
70. Trailer
|
||||||
|
|
|
@ -421,7 +421,7 @@ gst_tag_get_language_code_iso_639_2X (const gchar * lang_code, guint8 flags)
|
||||||
*
|
*
|
||||||
* The "terminological" code is derived from the local name of the language
|
* The "terminological" code is derived from the local name of the language
|
||||||
* (e.g. "deu" for German instead of "ger"). In most scenarios, the
|
* (e.g. "deu" for German instead of "ger"). In most scenarios, the
|
||||||
* "terminological" codes are prefered over the "bibliographic" ones.
|
* "terminological" codes are preferred over the "bibliographic" ones.
|
||||||
*
|
*
|
||||||
* Language codes are case-sensitive and expected to be lower case.
|
* Language codes are case-sensitive and expected to be lower case.
|
||||||
*
|
*
|
||||||
|
@ -455,7 +455,7 @@ gst_tag_get_language_code_iso_639_2T (const gchar * lang_code)
|
||||||
*
|
*
|
||||||
* The "bibliographic" code is derived from the English name of the language
|
* The "bibliographic" code is derived from the English name of the language
|
||||||
* (e.g. "ger" for German instead of "de" or "deu"). In most scenarios, the
|
* (e.g. "ger" for German instead of "de" or "deu"). In most scenarios, the
|
||||||
* "terminological" codes are prefered.
|
* "terminological" codes are preferred.
|
||||||
*
|
*
|
||||||
* Language codes are case-sensitive and expected to be lower case.
|
* Language codes are case-sensitive and expected to be lower case.
|
||||||
*
|
*
|
||||||
|
|
|
@ -19,7 +19,7 @@ be backported (at least partially).
|
||||||
|
|
||||||
|
|
||||||
Specifics:
|
Specifics:
|
||||||
* Use a GInstancePrivate for extensability.
|
* Use a GInstancePrivate for extensibility.
|
||||||
|
|
||||||
* Try to move more common video objects to video.[ch]
|
* Try to move more common video objects to video.[ch]
|
||||||
|
|
||||||
|
|
|
@ -671,7 +671,7 @@ done:
|
||||||
*
|
*
|
||||||
* The width, height and pixel-aspect-ratio can also be specified in the output caps.
|
* The width, height and pixel-aspect-ratio can also be specified in the output caps.
|
||||||
*
|
*
|
||||||
* @callback will be called after conversion, when an error occured or if conversion didn't
|
* @callback will be called after conversion, when an error occurred or if conversion didn't
|
||||||
* finish after @timeout. @callback will always be called from the thread default
|
* finish after @timeout. @callback will always be called from the thread default
|
||||||
* %GMainContext, see g_main_context_get_thread_default(). If GLib before 2.22 is used,
|
* %GMainContext, see g_main_context_get_thread_default(). If GLib before 2.22 is used,
|
||||||
* this will always be the global default main context.
|
* this will always be the global default main context.
|
||||||
|
|
|
@ -3654,7 +3654,7 @@ gst_video_decoder_decide_allocation_default (GstVideoDecoder * decoder,
|
||||||
/* If change are not acceptable, fallback to generic pool */
|
/* If change are not acceptable, fallback to generic pool */
|
||||||
if (!gst_buffer_pool_config_validate_params (config, outcaps, size, min,
|
if (!gst_buffer_pool_config_validate_params (config, outcaps, size, min,
|
||||||
max)) {
|
max)) {
|
||||||
GST_DEBUG_OBJECT (decoder, "unsuported pool, making new pool");
|
GST_DEBUG_OBJECT (decoder, "unsupported pool, making new pool");
|
||||||
|
|
||||||
gst_object_unref (pool);
|
gst_object_unref (pool);
|
||||||
pool = gst_video_buffer_pool_new ();
|
pool = gst_video_buffer_pool_new ();
|
||||||
|
|
|
@ -162,7 +162,7 @@ struct _GstVideoEncoderPrivate
|
||||||
gboolean tags_changed;
|
gboolean tags_changed;
|
||||||
|
|
||||||
GstClockTime min_pts;
|
GstClockTime min_pts;
|
||||||
/* adjustment needed on pts, dts, segment start and stop to accomodate
|
/* adjustment needed on pts, dts, segment start and stop to accommodate
|
||||||
* min_pts */
|
* min_pts */
|
||||||
GstClockTime time_adjustment;
|
GstClockTime time_adjustment;
|
||||||
|
|
||||||
|
@ -2667,7 +2667,7 @@ gst_video_encoder_get_allocator (GstVideoEncoder * encoder,
|
||||||
* Request minimal value for PTS passed to handle_frame.
|
* Request minimal value for PTS passed to handle_frame.
|
||||||
*
|
*
|
||||||
* For streams with reordered frames this can be used to ensure that there
|
* For streams with reordered frames this can be used to ensure that there
|
||||||
* is enough time to accomodate first DTS, which may be less than first PTS
|
* is enough time to accommodate first DTS, which may be less than first PTS
|
||||||
*
|
*
|
||||||
* Since: 1.6
|
* Since: 1.6
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -141,7 +141,7 @@ gst_video_sink_init (GstVideoSink * videosink)
|
||||||
videosink->width = 0;
|
videosink->width = 0;
|
||||||
videosink->height = 0;
|
videosink->height = 0;
|
||||||
|
|
||||||
/* 20ms is more than enough, 80-130ms is noticable */
|
/* 20ms is more than enough, 80-130ms is noticeable */
|
||||||
gst_base_sink_set_processing_deadline (GST_BASE_SINK (videosink),
|
gst_base_sink_set_processing_deadline (GST_BASE_SINK (videosink),
|
||||||
15 * GST_MSECOND);
|
15 * GST_MSECOND);
|
||||||
gst_base_sink_set_max_lateness (GST_BASE_SINK (videosink), 5 * GST_MSECOND);
|
gst_base_sink_set_max_lateness (GST_BASE_SINK (videosink), 5 * GST_MSECOND);
|
||||||
|
|
|
@ -449,7 +449,7 @@ GType gst_video_vbi_parser_get_type (void);
|
||||||
* GstVideoVBIParserResult:
|
* GstVideoVBIParserResult:
|
||||||
* @GST_VIDEO_VBI_PARSER_RESULT_DONE: No line were provided, or no more Ancillary data was found.
|
* @GST_VIDEO_VBI_PARSER_RESULT_DONE: No line were provided, or no more Ancillary data was found.
|
||||||
* @GST_VIDEO_VBI_PARSER_RESULT_OK: A #GstVideoAncillary was found.
|
* @GST_VIDEO_VBI_PARSER_RESULT_OK: A #GstVideoAncillary was found.
|
||||||
* @GST_VIDEO_VBI_PARSER_RESULT_ERROR: An error occured
|
* @GST_VIDEO_VBI_PARSER_RESULT_ERROR: An error occurred
|
||||||
*
|
*
|
||||||
* Return values for #GstVideoVBIParser
|
* Return values for #GstVideoVBIParser
|
||||||
*
|
*
|
||||||
|
|
|
@ -319,7 +319,7 @@ gst_video_blend (GstVideoFrame * dest,
|
||||||
GST_LOG ("blend src %dx%d onto dest %dx%d @ %d,%d", src_width, src_height,
|
GST_LOG ("blend src %dx%d onto dest %dx%d @ %d,%d", src_width, src_height,
|
||||||
dest_width, dest_height, x, y);
|
dest_width, dest_height, x, y);
|
||||||
|
|
||||||
/* In case overlay is completely outside the video, dont render */
|
/* In case overlay is completely outside the video, don't render */
|
||||||
if (x + src_width <= 0 || y + src_height <= 0
|
if (x + src_width <= 0 || y + src_height <= 0
|
||||||
|| x >= dest_width || y >= dest_height) {
|
|| x >= dest_width || y >= dest_height) {
|
||||||
goto nothing_to_do;
|
goto nothing_to_do;
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue