找了找gstreamer的相关文档,整理了下列的代码,虽然简单,但应用这个框架应对imx6的h264硬编码足够了。
#include <gst/gst.h>
#include <glib.h>static gboolean busCallBack(GstBus *bus,GstMessage *msg,gpointer data)
{
GMainLoop *loop=(GMainLoop*)data;
switch(GST_MESSAGE_TYPE(msg))
{
case GST_MESSAGE_EOS:
g_print("end of stream\n");
g_main_loop_quit(loop);
break;
default:
break;
}
return TRUE;
}
int main(int argc,char **argv)
{
GMainLoop *loop;
GstElement *pipe;
GstElement *v4l2src,*jpegenc,*filesink;
GstBus *bus;
gst_init(&argc,&argv);
loop=g_main_loop_new(NULL,FALSE);
//pipe.
pipe=gst_pipeline_new("pipe");
//input data source.