More changes to the mpeg parser and encoder.
Original commit message from CVS: More changes to the mpeg parser and encoder. It seems like the mpeg2 decoder does not like some MPEG1 videos. Use mpeg_play for now (eg. AlienSong)
This commit is contained in:
parent
1c6911d307
commit
17224d3c8e
@ -324,6 +324,7 @@ gst/xml/Makefile
|
|||||||
libs/Makefile
|
libs/Makefile
|
||||||
libs/riff/Makefile
|
libs/riff/Makefile
|
||||||
libs/colorspace/Makefile
|
libs/colorspace/Makefile
|
||||||
|
libs/videoscale/Makefile
|
||||||
libs/getbits/Makefile
|
libs/getbits/Makefile
|
||||||
plugins/Makefile
|
plugins/Makefile
|
||||||
plugins/au/Makefile
|
plugins/au/Makefile
|
||||||
@ -355,6 +356,7 @@ plugins/visualization/vumeter/Makefile
|
|||||||
plugins/visualization/synaesthesia/Makefile
|
plugins/visualization/synaesthesia/Makefile
|
||||||
plugins/visualization/smoothwave/Makefile
|
plugins/visualization/smoothwave/Makefile
|
||||||
plugins/videosink/Makefile
|
plugins/videosink/Makefile
|
||||||
|
plugins/videoscale/Makefile
|
||||||
plugins/dvdsrc/Makefile
|
plugins/dvdsrc/Makefile
|
||||||
plugins/vcdsrc/Makefile
|
plugins/vcdsrc/Makefile
|
||||||
plugins/cobin/Makefile
|
plugins/cobin/Makefile
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
#define DEBUG_ENABLED
|
//#define DEBUG_ENABLED
|
||||||
#include <gstclock.h>
|
#include <gstclock.h>
|
||||||
|
|
||||||
static GstClock *the_system_clock = NULL;
|
static GstClock *the_system_clock = NULL;
|
||||||
@ -54,7 +54,7 @@ GstClock *gst_clock_get_system() {
|
|||||||
|
|
||||||
void gst_clock_register(GstClock *clock, GstObject *obj) {
|
void gst_clock_register(GstClock *clock, GstObject *obj) {
|
||||||
if (GST_IS_SINK(obj)) {
|
if (GST_IS_SINK(obj)) {
|
||||||
DEBUG("gst_clock: registered sink object 0x%p\n", obj);
|
DEBUG("gst_clock: setting registered sink object 0x%p\n", obj);
|
||||||
clock->sinkobjects = g_list_append(clock->sinkobjects, obj);
|
clock->sinkobjects = g_list_append(clock->sinkobjects, obj);
|
||||||
num++;
|
num++;
|
||||||
}
|
}
|
||||||
@ -89,6 +89,7 @@ void gst_clock_wait(GstClock *clock, GstClockTime time, GstObject *obj) {
|
|||||||
GstClockTimeDiff diff;
|
GstClockTimeDiff diff;
|
||||||
GList *elements;
|
GList *elements;
|
||||||
|
|
||||||
|
DEBUG("gst_clock: requesting clock object 0x%p\n", obj);
|
||||||
g_mutex_lock(clock->lock);
|
g_mutex_lock(clock->lock);
|
||||||
elements = clock->sinkobjects;
|
elements = clock->sinkobjects;
|
||||||
while (elements && clock->locking) {
|
while (elements && clock->locking) {
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
SUBDIRS = riff colorspace getbits
|
SUBDIRS = riff colorspace getbits videoscale
|
||||||
|
|
||||||
DIST_SUBDIRS = riff colorspace getbits
|
DIST_SUBDIRS = riff colorspace getbits videoscale
|
||||||
|
@ -32,13 +32,13 @@
|
|||||||
|
|
||||||
#include "yuv2rgb.h"
|
#include "yuv2rgb.h"
|
||||||
|
|
||||||
static GstBuffer *gst_colorspace_yuv422P_to_rgb32(GstBuffer *src, GstColorSpaceParameters *params);
|
static GstBuffer *gst_colorspace_yuv420P_to_rgb32(GstBuffer *src, GstColorSpaceParameters *params);
|
||||||
static GstBuffer *gst_colorspace_yuv422P_to_bgr32(GstBuffer *src, GstColorSpaceParameters *params);
|
static GstBuffer *gst_colorspace_yuv420P_to_bgr32(GstBuffer *src, GstColorSpaceParameters *params);
|
||||||
static GstBuffer *gst_colorspace_yuv422P_to_bgr32_mmx(GstBuffer *src, GstColorSpaceParameters *params);
|
static GstBuffer *gst_colorspace_yuv420P_to_bgr32_mmx(GstBuffer *src, GstColorSpaceParameters *params);
|
||||||
static GstBuffer *gst_colorspace_yuv422P_to_rgb24(GstBuffer *src, GstColorSpaceParameters *params);
|
static GstBuffer *gst_colorspace_yuv420P_to_rgb24(GstBuffer *src, GstColorSpaceParameters *params);
|
||||||
static GstBuffer *gst_colorspace_yuv422P_to_bgr24(GstBuffer *src, GstColorSpaceParameters *params);
|
static GstBuffer *gst_colorspace_yuv420P_to_bgr24(GstBuffer *src, GstColorSpaceParameters *params);
|
||||||
static GstBuffer *gst_colorspace_yuv422P_to_rgb16(GstBuffer *src, GstColorSpaceParameters *params);
|
static GstBuffer *gst_colorspace_yuv420P_to_rgb16(GstBuffer *src, GstColorSpaceParameters *params);
|
||||||
static GstBuffer *gst_colorspace_yuv422P_to_bgr16_mmx(GstBuffer *src, GstColorSpaceParameters *params);
|
static GstBuffer *gst_colorspace_yuv420P_to_bgr16_mmx(GstBuffer *src, GstColorSpaceParameters *params);
|
||||||
|
|
||||||
static void gst_colorspace_yuv_to_rgb16(GstColorSpaceYUVTables *tables,
|
static void gst_colorspace_yuv_to_rgb16(GstColorSpaceYUVTables *tables,
|
||||||
unsigned char *lum,
|
unsigned char *lum,
|
||||||
@ -79,23 +79,23 @@ static GstColorSpaceYUVTables * gst_colorspace_init_yuv(long depth,
|
|||||||
GstColorSpaceConverter gst_colorspace_yuv2rgb_get_converter(GstColorSpace src, GstColorSpace dest) {
|
GstColorSpaceConverter gst_colorspace_yuv2rgb_get_converter(GstColorSpace src, GstColorSpace dest) {
|
||||||
DEBUG("gst_colorspace_yuv2rgb_get_converter %d\n", dest);
|
DEBUG("gst_colorspace_yuv2rgb_get_converter %d\n", dest);
|
||||||
switch(src) {
|
switch(src) {
|
||||||
case GST_COLORSPACE_YUV422P:
|
case GST_COLORSPACE_YUV420P:
|
||||||
switch(dest) {
|
switch(dest) {
|
||||||
case GST_COLORSPACE_BGR32:
|
case GST_COLORSPACE_BGR32:
|
||||||
//return gst_colorspace_yuv422P_to_bgr32;
|
//return gst_colorspace_yuv420P_to_bgr32;
|
||||||
return gst_colorspace_yuv422P_to_bgr32_mmx;
|
return gst_colorspace_yuv420P_to_bgr32_mmx;
|
||||||
case GST_COLORSPACE_RGB32:
|
case GST_COLORSPACE_RGB32:
|
||||||
return gst_colorspace_yuv422P_to_rgb32;
|
return gst_colorspace_yuv420P_to_rgb32;
|
||||||
case GST_COLORSPACE_RGB24:
|
case GST_COLORSPACE_RGB24:
|
||||||
return gst_colorspace_yuv422P_to_rgb24;
|
return gst_colorspace_yuv420P_to_rgb24;
|
||||||
case GST_COLORSPACE_BGR24:
|
case GST_COLORSPACE_BGR24:
|
||||||
return gst_colorspace_yuv422P_to_bgr24;
|
return gst_colorspace_yuv420P_to_bgr24;
|
||||||
case GST_COLORSPACE_RGB555:
|
case GST_COLORSPACE_RGB555:
|
||||||
case GST_COLORSPACE_RGB565:
|
case GST_COLORSPACE_RGB565:
|
||||||
case GST_COLORSPACE_BGR555:
|
case GST_COLORSPACE_BGR555:
|
||||||
return gst_colorspace_yuv422P_to_rgb16;
|
return gst_colorspace_yuv420P_to_rgb16;
|
||||||
case GST_COLORSPACE_BGR565:
|
case GST_COLORSPACE_BGR565:
|
||||||
return gst_colorspace_yuv422P_to_bgr16_mmx;
|
return gst_colorspace_yuv420P_to_bgr16_mmx;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -107,12 +107,12 @@ GstColorSpaceConverter gst_colorspace_yuv2rgb_get_converter(GstColorSpace src, G
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static GstBuffer *gst_colorspace_yuv422P_to_bgr32(GstBuffer *src, GstColorSpaceParameters *params) {
|
static GstBuffer *gst_colorspace_yuv420P_to_bgr32(GstBuffer *src, GstColorSpaceParameters *params) {
|
||||||
static GstColorSpaceYUVTables *color_tables = NULL;
|
static GstColorSpaceYUVTables *color_tables = NULL;
|
||||||
int size;
|
int size;
|
||||||
GstBuffer *buf = NULL;
|
GstBuffer *buf = NULL;
|
||||||
guchar *out;
|
guchar *out;
|
||||||
DEBUG("gst_colorspace_yuv422P_to_bgr32\n");
|
DEBUG("gst_colorspace_yuv420P_to_bgr32\n");
|
||||||
|
|
||||||
g_return_val_if_fail(params != NULL, NULL);
|
g_return_val_if_fail(params != NULL, NULL);
|
||||||
|
|
||||||
@ -142,12 +142,12 @@ static GstBuffer *gst_colorspace_yuv422P_to_bgr32(GstBuffer *src, GstColorSpaceP
|
|||||||
else return src;
|
else return src;
|
||||||
}
|
}
|
||||||
|
|
||||||
static GstBuffer *gst_colorspace_yuv422P_to_rgb32(GstBuffer *src, GstColorSpaceParameters *params) {
|
static GstBuffer *gst_colorspace_yuv420P_to_rgb32(GstBuffer *src, GstColorSpaceParameters *params) {
|
||||||
static GstColorSpaceYUVTables *color_tables = NULL;
|
static GstColorSpaceYUVTables *color_tables = NULL;
|
||||||
int size;
|
int size;
|
||||||
GstBuffer *buf = NULL;
|
GstBuffer *buf = NULL;
|
||||||
guchar *out;
|
guchar *out;
|
||||||
DEBUG("gst_colorspace_yuv422P_to_rgb32\n");
|
DEBUG("gst_colorspace_yuv420P_to_rgb32\n");
|
||||||
|
|
||||||
g_return_val_if_fail(params != NULL, NULL);
|
g_return_val_if_fail(params != NULL, NULL);
|
||||||
|
|
||||||
@ -177,12 +177,12 @@ static GstBuffer *gst_colorspace_yuv422P_to_rgb32(GstBuffer *src, GstColorSpaceP
|
|||||||
else return src;
|
else return src;
|
||||||
}
|
}
|
||||||
|
|
||||||
static GstBuffer *gst_colorspace_yuv422P_to_bgr24(GstBuffer *src, GstColorSpaceParameters *params) {
|
static GstBuffer *gst_colorspace_yuv420P_to_bgr24(GstBuffer *src, GstColorSpaceParameters *params) {
|
||||||
static GstColorSpaceYUVTables *color_tables = NULL;
|
static GstColorSpaceYUVTables *color_tables = NULL;
|
||||||
int size;
|
int size;
|
||||||
GstBuffer *buf = NULL;
|
GstBuffer *buf = NULL;
|
||||||
guchar *out;
|
guchar *out;
|
||||||
DEBUG("gst_colorspace_yuv422P_to_bgr24\n");
|
DEBUG("gst_colorspace_yuv420P_to_bgr24\n");
|
||||||
|
|
||||||
g_return_val_if_fail(params != NULL, NULL);
|
g_return_val_if_fail(params != NULL, NULL);
|
||||||
|
|
||||||
@ -211,12 +211,12 @@ static GstBuffer *gst_colorspace_yuv422P_to_bgr24(GstBuffer *src, GstColorSpaceP
|
|||||||
else return src;
|
else return src;
|
||||||
}
|
}
|
||||||
|
|
||||||
static GstBuffer *gst_colorspace_yuv422P_to_rgb24(GstBuffer *src, GstColorSpaceParameters *params) {
|
static GstBuffer *gst_colorspace_yuv420P_to_rgb24(GstBuffer *src, GstColorSpaceParameters *params) {
|
||||||
static GstColorSpaceYUVTables *color_tables = NULL;
|
static GstColorSpaceYUVTables *color_tables = NULL;
|
||||||
int size;
|
int size;
|
||||||
GstBuffer *buf = NULL;
|
GstBuffer *buf = NULL;
|
||||||
guchar *out;
|
guchar *out;
|
||||||
DEBUG("gst_colorspace_yuv422P_to_rgb24\n");
|
DEBUG("gst_colorspace_yuv420P_to_rgb24\n");
|
||||||
|
|
||||||
g_return_val_if_fail(params != NULL, NULL);
|
g_return_val_if_fail(params != NULL, NULL);
|
||||||
|
|
||||||
@ -246,10 +246,10 @@ static GstBuffer *gst_colorspace_yuv422P_to_rgb24(GstBuffer *src, GstColorSpaceP
|
|||||||
else return src;
|
else return src;
|
||||||
}
|
}
|
||||||
|
|
||||||
static GstBuffer *gst_colorspace_yuv422P_to_rgb16(GstBuffer *src, GstColorSpaceParameters *params) {
|
static GstBuffer *gst_colorspace_yuv420P_to_rgb16(GstBuffer *src, GstColorSpaceParameters *params) {
|
||||||
static GstColorSpaceYUVTables *color_tables = NULL;
|
static GstColorSpaceYUVTables *color_tables = NULL;
|
||||||
int size;
|
int size;
|
||||||
DEBUG("gst_colorspace_yuv422P_to_rgb16\n");
|
DEBUG("gst_colorspace_yuv420P_to_rgb16\n");
|
||||||
|
|
||||||
g_return_val_if_fail(params != NULL, NULL);
|
g_return_val_if_fail(params != NULL, NULL);
|
||||||
g_return_val_if_fail(params->visual != NULL, NULL);
|
g_return_val_if_fail(params->visual != NULL, NULL);
|
||||||
@ -274,11 +274,11 @@ static GstBuffer *gst_colorspace_yuv422P_to_rgb16(GstBuffer *src, GstColorSpaceP
|
|||||||
static mmx_t MMX16_redmask = (mmx_t)(long long)0xf800f800f800f800LL; //dd 07c00 7c00h, 07c007c00h
|
static mmx_t MMX16_redmask = (mmx_t)(long long)0xf800f800f800f800LL; //dd 07c00 7c00h, 07c007c00h
|
||||||
static mmx_t MMX16_grnmask = (mmx_t)(long long)0x07e007e007e007e0LL; //dd 003e0 03e0h, 003e003e0h
|
static mmx_t MMX16_grnmask = (mmx_t)(long long)0x07e007e007e007e0LL; //dd 003e0 03e0h, 003e003e0h
|
||||||
|
|
||||||
static GstBuffer *gst_colorspace_yuv422P_to_bgr32_mmx(GstBuffer *src, GstColorSpaceParameters *params) {
|
static GstBuffer *gst_colorspace_yuv420P_to_bgr32_mmx(GstBuffer *src, GstColorSpaceParameters *params) {
|
||||||
int size;
|
int size;
|
||||||
GstBuffer *buf = NULL;
|
GstBuffer *buf = NULL;
|
||||||
guchar *out;
|
guchar *out;
|
||||||
DEBUG("gst_colorspace_yuv422P_to_rgb32_mmx\n");
|
DEBUG("gst_colorspace_yuv420P_to_rgb32_mmx\n");
|
||||||
|
|
||||||
g_return_val_if_fail(params != NULL, NULL);
|
g_return_val_if_fail(params != NULL, NULL);
|
||||||
|
|
||||||
@ -304,9 +304,9 @@ static GstBuffer *gst_colorspace_yuv422P_to_bgr32_mmx(GstBuffer *src, GstColorSp
|
|||||||
}
|
}
|
||||||
else return src;
|
else return src;
|
||||||
}
|
}
|
||||||
static GstBuffer *gst_colorspace_yuv422P_to_bgr16_mmx(GstBuffer *src, GstColorSpaceParameters *params) {
|
static GstBuffer *gst_colorspace_yuv420P_to_bgr16_mmx(GstBuffer *src, GstColorSpaceParameters *params) {
|
||||||
int size;
|
int size;
|
||||||
DEBUG("gst_colorspace_yuv422P_to_bgr16_mmx \n");
|
DEBUG("gst_colorspace_yuv420P_to_bgr16_mmx \n");
|
||||||
|
|
||||||
g_return_val_if_fail(params != NULL, NULL);
|
g_return_val_if_fail(params != NULL, NULL);
|
||||||
|
|
||||||
@ -319,6 +319,7 @@ static GstBuffer *gst_colorspace_yuv422P_to_bgr16_mmx(GstBuffer *src, GstColorSp
|
|||||||
params->outbuf,
|
params->outbuf,
|
||||||
params->height,
|
params->height,
|
||||||
params->width);
|
params->width);
|
||||||
|
DEBUG("gst_colorspace_yuv420P_to_bgr16_mmx done\n");
|
||||||
|
|
||||||
return src;
|
return src;
|
||||||
}
|
}
|
||||||
@ -772,6 +773,8 @@ gst_colorspace_yuv_to_bgr16_mmx(tables, lum, cr, cb, out, rows, cols)
|
|||||||
|
|
||||||
int y, x;
|
int y, x;
|
||||||
|
|
||||||
|
DEBUG("gst_colorspace_yuv420P_to_bgr16_mmx %p %p %p\n", lum, cr, cb);
|
||||||
|
|
||||||
for (y=rows>>1; y; y--) {
|
for (y=rows>>1; y; y--) {
|
||||||
for (x=cols8; x; x--) {
|
for (x=cols8; x; x--) {
|
||||||
|
|
||||||
|
1
test/.gitignore
vendored
1
test/.gitignore
vendored
@ -38,3 +38,4 @@ mp1parse
|
|||||||
aviparse
|
aviparse
|
||||||
avi2mpg
|
avi2mpg
|
||||||
vidcapture
|
vidcapture
|
||||||
|
mp2tomp1
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#noinst_PROGRAMS = basic m types a r plugin w s args mpg123 mcut push qtest
|
#noinst_PROGRAMS = basic m types a r plugin w s args mpg123 mcut push qtest
|
||||||
noinst_PROGRAMS = qtest spectrum record wave mp3 teardown buffer mp3parse \
|
noinst_PROGRAMS = qtest spectrum record wave mp3 teardown buffer mp3parse \
|
||||||
mpeg2parse mp1parse mp3play ac3parse ac3play dvdcat fake cobin videotest \
|
mpeg2parse mp1parse mp3play ac3parse ac3play dvdcat fake cobin videotest \
|
||||||
aviparse vidcapture avi2mpg
|
aviparse vidcapture avi2mpg mp2tomp1
|
||||||
|
|
||||||
SUBDIRS = xml cothreads bindings
|
SUBDIRS = xml cothreads bindings
|
||||||
|
|
||||||
@ -17,6 +17,8 @@ mp1parse_CFLAGS = $(shell gnome-config --cflags gnomeui)
|
|||||||
mp1parse_LDFLAGS = $(shell gnome-config --libs gnomeui)
|
mp1parse_LDFLAGS = $(shell gnome-config --libs gnomeui)
|
||||||
mpeg2parse_CFLAGS = $(shell gnome-config --cflags gnomeui)
|
mpeg2parse_CFLAGS = $(shell gnome-config --cflags gnomeui)
|
||||||
mpeg2parse_LDFLAGS = $(shell gnome-config --libs gnomeui)
|
mpeg2parse_LDFLAGS = $(shell gnome-config --libs gnomeui)
|
||||||
|
mp2tomp1_CFLAGS = $(shell gnome-config --cflags gnomeui)
|
||||||
|
mp2tomp1_LDFLAGS = $(shell gnome-config --libs gnomeui)
|
||||||
|
|
||||||
buffer_SOURCES = buffer.c mem.c
|
buffer_SOURCES = buffer.c mem.c
|
||||||
teardown_SOURCES = teardown.c mem.c
|
teardown_SOURCES = teardown.c mem.c
|
||||||
|
@ -49,7 +49,7 @@ void new_pad_created(GstElement *parse,GstPad *pad,GstElement *pipeline) {
|
|||||||
|
|
||||||
// construct queue and connect everything in the main pipelie
|
// construct queue and connect everything in the main pipelie
|
||||||
audio_queue = gst_elementfactory_make("queue","audio_queue");
|
audio_queue = gst_elementfactory_make("queue","audio_queue");
|
||||||
gtk_object_set(GTK_OBJECT(audio_queue),"max_level",30,NULL);
|
gtk_object_set(GTK_OBJECT(audio_queue),"max_level",300,NULL);
|
||||||
gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(audio_queue));
|
gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(audio_queue));
|
||||||
gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(audio_thread));
|
gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(audio_thread));
|
||||||
gst_pad_connect(pad,
|
gst_pad_connect(pad,
|
||||||
@ -67,14 +67,14 @@ void new_pad_created(GstElement *parse,GstPad *pad,GstElement *pipeline) {
|
|||||||
//} else if (0) {
|
//} else if (0) {
|
||||||
|
|
||||||
gst_plugin_load("mp1videoparse");
|
gst_plugin_load("mp1videoparse");
|
||||||
//gst_plugin_load("mpeg_play");
|
gst_plugin_load("mpeg_play");
|
||||||
gst_plugin_load("mpeg2play");
|
//gst_plugin_load("mpeg2play");
|
||||||
gst_plugin_load("videosink");
|
gst_plugin_load("videosink");
|
||||||
// construct internal pipeline elements
|
// construct internal pipeline elements
|
||||||
parse_video = gst_elementfactory_make("mp1videoparse","parse_video");
|
parse_video = gst_elementfactory_make("mp1videoparse","parse_video");
|
||||||
g_return_if_fail(parse_video != NULL);
|
g_return_if_fail(parse_video != NULL);
|
||||||
//decode_video = gst_elementfactory_make("mpeg_play","decode_video");
|
decode_video = gst_elementfactory_make("mpeg_play","decode_video");
|
||||||
decode_video = gst_elementfactory_make("mpeg2play","decode_video");
|
//decode_video = gst_elementfactory_make("mpeg2play","decode_video");
|
||||||
g_return_if_fail(decode_video != NULL);
|
g_return_if_fail(decode_video != NULL);
|
||||||
show = gst_elementfactory_make("videosink","show");
|
show = gst_elementfactory_make("videosink","show");
|
||||||
g_return_if_fail(show != NULL);
|
g_return_if_fail(show != NULL);
|
||||||
@ -102,7 +102,7 @@ void new_pad_created(GstElement *parse,GstPad *pad,GstElement *pipeline) {
|
|||||||
|
|
||||||
// construct queue and connect everything in the main pipeline
|
// construct queue and connect everything in the main pipeline
|
||||||
video_queue = gst_elementfactory_make("queue","video_queue");
|
video_queue = gst_elementfactory_make("queue","video_queue");
|
||||||
gtk_object_set(GTK_OBJECT(video_queue),"max_level",30,NULL);
|
gtk_object_set(GTK_OBJECT(video_queue),"max_level",300,NULL);
|
||||||
gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(video_queue));
|
gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(video_queue));
|
||||||
gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(video_thread));
|
gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(video_thread));
|
||||||
gst_pad_connect(pad,
|
gst_pad_connect(pad,
|
||||||
|
@ -168,6 +168,7 @@ int main(int argc,char *argv[]) {
|
|||||||
gst_init(&argc,&argv);
|
gst_init(&argc,&argv);
|
||||||
gnome_init("MPEG2 Video player","0.0.1",argc,argv);
|
gnome_init("MPEG2 Video player","0.0.1",argc,argv);
|
||||||
gst_plugin_load("mpeg2parse");
|
gst_plugin_load("mpeg2parse");
|
||||||
|
//gst_plugin_load("mpeg1parse");
|
||||||
|
|
||||||
pipeline = gst_pipeline_new("pipeline");
|
pipeline = gst_pipeline_new("pipeline");
|
||||||
g_return_if_fail(pipeline != NULL);
|
g_return_if_fail(pipeline != NULL);
|
||||||
@ -187,6 +188,7 @@ int main(int argc,char *argv[]) {
|
|||||||
g_print("should be using file '%s'\n",argv[1]);
|
g_print("should be using file '%s'\n",argv[1]);
|
||||||
|
|
||||||
parse = gst_elementfactory_make("mpeg2parse","parse");
|
parse = gst_elementfactory_make("mpeg2parse","parse");
|
||||||
|
//parse = gst_elementfactory_make("mpeg1parse","parse");
|
||||||
g_return_if_fail(parse != NULL);
|
g_return_if_fail(parse != NULL);
|
||||||
|
|
||||||
gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(src));
|
gst_bin_add(GST_BIN(pipeline),GST_ELEMENT(src));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user