gboolean
gst_gl_mixer_process_textures (GstGLMixer * mix, GstBuffer * outbuf)
{
- guint out_tex;
+ GstGLMemory *out_tex;
gboolean res = TRUE;
GstVideoFrame out_frame;
GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (mix);
return FALSE;
}
- out_tex = *(guint *) out_frame.data[0];
+ out_tex = (GstGLMemory *) out_frame.map[0].memory;
if (!gst_aggregator_iterate_sinkpads (GST_AGGREGATOR (mix),
(GstAggregatorPadForeachFunc) _upload_frames, NULL))
GstCaps* outcaps);
typedef void (*GstGLMixerReset) (GstGLMixer *mixer);
typedef gboolean (*GstGLMixerProcessFunc) (GstGLMixer *mix, GstBuffer *outbuf);
-typedef gboolean (*GstGLMixerProcessTextures) (GstGLMixer *mix, guint out_tex);
+typedef gboolean (*GstGLMixerProcessTextures) (GstGLMixer *mix, GstGLMemory *out_tex);
struct _GstGLMixer
{
GstCaps * outcaps);
static gboolean gst_gl_mosaic_process_textures (GstGLMixer * mixer,
- guint out_tex);
+ GstGLMemory * out_tex);
static void gst_gl_mosaic_callback (gpointer stuff);
//vertex source
}
static gboolean
-gst_gl_mosaic_process_textures (GstGLMixer * mix, guint out_tex)
+gst_gl_mosaic_process_textures (GstGLMixer * mix, GstGLMemory * out_tex)
{
GstGLMosaic *mosaic = GST_GL_MOSAIC (mix);
gst_gl_context_use_fbo_v2 (GST_GL_BASE_MIXER (mix)->context,
GST_VIDEO_INFO_WIDTH (&GST_VIDEO_AGGREGATOR (mix)->info),
GST_VIDEO_INFO_HEIGHT (&GST_VIDEO_AGGREGATOR (mix)->info), mix->fbo,
- mix->depthbuffer, out_tex, gst_gl_mosaic_callback, (gpointer) mosaic);
+ mix->depthbuffer, out_tex->tex_id, gst_gl_mosaic_callback,
+ (gpointer) mosaic);
return TRUE;
}
GstGLMixer mixer;
GstGLShader *shader;
+ GstGLMemory *out_tex;
};
struct _GstGLMosaicClass
GstCaps * outcaps);
static gboolean gst_gl_video_mixer_process_textures (GstGLMixer * mixer,
- guint out_tex);
+ GstGLMemory * out_tex);
static void gst_gl_video_mixer_callback (gpointer stuff);
/* *INDENT-OFF* */
}
static gboolean
-gst_gl_video_mixer_process_textures (GstGLMixer * mix, guint out_tex)
+gst_gl_video_mixer_process_textures (GstGLMixer * mix, GstGLMemory * out_tex)
{
GstGLVideoMixer *video_mixer = GST_GL_VIDEO_MIXER (mix);
GST_VIDEO_INFO_WIDTH (&GST_VIDEO_AGGREGATOR (mix)->info),
GST_VIDEO_INFO_HEIGHT (&GST_VIDEO_AGGREGATOR (mix)->info),
mix->fbo, mix->depthbuffer,
- out_tex, gst_gl_video_mixer_callback, (gpointer) video_mixer);
+ out_tex->tex_id, gst_gl_video_mixer_callback, (gpointer) video_mixer);
return TRUE;
}