mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-30 12:49:40 +00:00
Added a non functional dv to mpeg1 encoder.
Original commit message from CVS: Added a non functional dv to mpeg1 encoder.
This commit is contained in:
parent
892f4b3204
commit
3db9da2934
1 changed files with 66 additions and 0 deletions
66
test/dv2mp1.c
Normal file
66
test/dv2mp1.c
Normal file
|
@ -0,0 +1,66 @@
|
|||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#include <string.h>
|
||||
#include <gst/gst.h>
|
||||
|
||||
static gboolean
|
||||
idle_func (gpointer data)
|
||||
{
|
||||
gst_bin_iterate (GST_BIN (data));
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc,char *argv[])
|
||||
{
|
||||
GstElement *bin;
|
||||
GstElement *src;
|
||||
GstElement *dvdec;
|
||||
GstElement *cspace;
|
||||
GstElement *videoscale;
|
||||
GstElement *encoder;
|
||||
GstElement *fdsink;
|
||||
|
||||
gint fd_video;
|
||||
|
||||
gst_init (&argc, &argv);
|
||||
|
||||
bin = gst_pipeline_new ("pipeline");
|
||||
|
||||
src = gst_elementfactory_make ("disksrc", "src");
|
||||
gtk_object_set (GTK_OBJECT (src), "location", argv[1], "bytesperread", 480, NULL);
|
||||
|
||||
dvdec = gst_elementfactory_make ("dvdec", "decoder");
|
||||
cspace = gst_elementfactory_make ("colorspace", "cspace");
|
||||
//videoscale = gst_elementfactory_make ("videoscale", "videoscale");
|
||||
//gtk_object_set (GTK_OBJECT (videoscale), "width", 352, "height",288, NULL);
|
||||
encoder = gst_elementfactory_make ("mpeg2enc", "mpeg2enc");
|
||||
fdsink = gst_elementfactory_make ("fdsink", "fdsink");
|
||||
|
||||
fd_video = open (argv[2], O_CREAT|O_RDWR|O_TRUNC);
|
||||
gtk_object_set (GTK_OBJECT (fdsink), "fd", fd_video, NULL);
|
||||
|
||||
gst_bin_add (GST_BIN (bin), GST_ELEMENT (src));
|
||||
gst_bin_add (GST_BIN (bin), GST_ELEMENT (dvdec));
|
||||
gst_bin_add (GST_BIN (bin), GST_ELEMENT (cspace));
|
||||
//gst_bin_add (GST_BIN (bin), GST_ELEMENT (videoscale));
|
||||
gst_bin_add (GST_BIN (bin), GST_ELEMENT (encoder));
|
||||
gst_bin_add (GST_BIN (bin), GST_ELEMENT (fdsink));
|
||||
|
||||
gst_element_connect (src, "src", dvdec, "sink");
|
||||
gst_element_connect (cspace, "src", encoder, "sink");
|
||||
//gst_element_connect (videoscale, "src", encoder, "sink");
|
||||
gst_element_connect (encoder, "src", fdsink, "sink");
|
||||
gst_element_connect (dvdec, "video", cspace, "sink");
|
||||
|
||||
gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PLAYING);
|
||||
|
||||
g_idle_add (idle_func, bin);
|
||||
|
||||
gtk_main ();
|
||||
|
||||
exit (0);
|
||||
}
|
||||
|
Loading…
Reference in a new issue