brasero r1663 - in trunk: . src/plugins/transcode
- From: philippr svn gnome org
- To: svn-commits-list gnome org
- Subject: brasero r1663 - in trunk: . src/plugins/transcode
- Date: Fri, 26 Dec 2008 20:20:52 +0000 (UTC)
Author: philippr
Date: Fri Dec 26 20:20:52 2008
New Revision: 1663
URL: http://svn.gnome.org/viewvc/brasero?rev=1663&view=rev
Log:
2008-12-26 Philippe Rouquier <ykw localhost localdomain>
Fix MPEG2 encoding of video for SVCD
* src/plugins/transcode/burn-vob.c (brasero_vob_build_audio_mp2),
(brasero_vob_build_video_bin), (brasero_vob_build_pipeline),
(brasero_vob_start):
Modified:
trunk/ChangeLog
trunk/src/plugins/transcode/burn-vob.c
Modified: trunk/src/plugins/transcode/burn-vob.c
==============================================================================
--- trunk/src/plugins/transcode/burn-vob.c (original)
+++ trunk/src/plugins/transcode/burn-vob.c Fri Dec 26 20:20:52 2008
@@ -357,7 +357,7 @@
BRASERO_BURN_ERROR,
BRASERO_BURN_ERROR_GENERAL,
_("%s element could not be created"),
- "\"Fenc_mp2\"");
+ "\"ffenc_mp2\"");
goto error;
}
gst_bin_add (GST_BIN (priv->pipeline), encode);
@@ -383,6 +383,13 @@
GstElement *filter;
GstCaps *filtercaps;
+ if (!priv->svcd) {
+ BRASERO_JOB_LOG (vob, "Setting mp2 bitrate to 224000");
+ g_object_set (encode,
+ "bitrate", 224000,
+ NULL);
+ }
+
/* This is for (S)VCD which need to have audio at 44100 khz */
/* create a filter */
@@ -577,6 +584,7 @@
GstPad *sinkpad;
GstElement *scale;
GstElement *queue;
+ GstElement *queue1;
GstElement *filter;
GstElement *encode;
GstPadLinkReturn res;
@@ -668,6 +676,7 @@
g_object_set (encode,
"format", 8,
NULL);
+
/* NOTE: there is another option to improve compatibility with vcdimager
* but that would mean be sure that it's the next. */
else if (priv->svcd)
@@ -804,9 +813,26 @@
}
}
- gst_element_link_many (queue, framerate, scale, colorspace, filter, encode, NULL);
+ /* another queue */
+ queue1 = gst_element_factory_make ("queue", NULL);
+ if (queue1 == NULL) {
+ g_set_error (error,
+ BRASERO_BURN_ERROR,
+ BRASERO_BURN_ERROR_GENERAL,
+ _("%s element could not be created"),
+ "\"Queue1\"");
+ goto error;
+ }
+ gst_bin_add (GST_BIN (priv->pipeline), queue1);
+ g_object_set (queue1,
+ "max-size-bytes", 0,
+ "max-size-buffers", 0,
+ "max-size-time", (gint64) 0,
+ NULL);
+
+ gst_element_link_many (queue, framerate, scale, colorspace, filter, encode, queue1, NULL);
- srcpad = gst_element_get_static_pad (encode, "src");
+ srcpad = gst_element_get_static_pad (queue1, "src");
sinkpad = gst_element_get_request_pad (muxer, "video_%d");
res = gst_pad_link (srcpad, sinkpad);
BRASERO_JOB_LOG (vob, "Linked video bin to muxer == %d", res)
@@ -892,9 +918,9 @@
g_object_set (muxer,
"format", 4,
NULL);
- else
+ else /* This should be 1 but it causes frame drops */
g_object_set (muxer,
- "format", 1,
+ "format", 4,
NULL);
/* create sink */
@@ -983,7 +1009,7 @@
priv->is_video_dvd = TRUE;
BRASERO_JOB_LOG (job,
- "Got output type (is DVD %i, is SVCD %i",
+ "Got output type (is DVD %i, is SVCD %i)",
priv->is_video_dvd,
priv->svcd);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]