ensonic gst-ffmpeg: gst-ffmpeg/ gst-ffmpeg/ext/ffmpeg/
[email protected] Tue, 16 Dec 2008 06:24:19 -0800 (PST)
| Newsgroups | gmane.comp.video.gstreamer.cvs |
|---|---|
| Message-ID | <[email protected]> |
CVS Root: /cvs/gstreamer
Module: gst-ffmpeg
Changes by: ensonic
Date: Tue Dec 16 2008 14:24:19 UTC
Log message:
* configure.ac:
* ext/ffmpeg/gstffmpegmux.c:
Fix tag merging. Use tagsetter and not internal copies. Depend on
CVS core and use new API to flush.
Modified files:
. : ChangeLog configure.ac
ext/ffmpeg : gstffmpegmux.c
Links:
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-ffmpeg/ChangeLog.diff?r1=1.534&r2=1.535
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-ffmpeg/configure.ac.diff?r1=1.105&r2=1.106
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-ffmpeg/ext/ffmpeg/gstffmpegmux.c.diff?r1=1.53&r2=1.54
====Begin Diffs====
Index: ChangeLog
===================================================================
RCS file: /cvs/gstreamer/gst-ffmpeg/ChangeLog,v
retrieving revision 1.534
retrieving revision 1.535
diff -u -d -r1.534 -r1.535
--- ChangeLog 13 Dec 2008 08:01:44 -0000 1.534
+++ ChangeLog 16 Dec 2008 14:24:04 -0000 1.535
@@ -1,3 +1,10 @@
+2008-12-16 Stefan Kost <[email protected]>
+
+ * configure.ac:
+ * ext/ffmpeg/gstffmpegmux.c:
+ Fix tag merging. Use tagsetter and not internal copies. Depend on
+ CVS core and use new API to flush.
2008-12-13 Sebastian Dröge <[email protected]>
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_channel_layout_to_gst):
Index: configure.ac
RCS file: /cvs/gstreamer/gst-ffmpeg/configure.ac,v
retrieving revision 1.105
retrieving revision 1.106
diff -u -d -r1.105 -r1.106
--- configure.ac 4 Dec 2008 20:12:41 -0000 1.105
+++ configure.ac 16 Dec 2008 14:24:04 -0000 1.106
@@ -40,7 +40,7 @@
AM_PROG_LIBTOOL
dnl *** required versions of GStreamer stuff ***
-GST_REQ=0.10.13
+GST_REQ=0.10.21
LIBOIL_MAJORMINOR=0.3
LIBOIL_REQ=0.3.6
Index: gstffmpegmux.c
RCS file: /cvs/gstreamer/gst-ffmpeg/ext/ffmpeg/gstffmpegmux.c,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -d -r1.53 -r1.54
--- gstffmpegmux.c 11 Nov 2008 17:18:46 -0000 1.53
+++ gstffmpegmux.c 16 Dec 2008 14:24:05 -0000 1.54
@@ -55,8 +55,6 @@
AVFormatContext *context;
gboolean opened;
- GstTagList *tags;
-
gint videopads, audiopads;
/*< private > */
@@ -213,8 +211,6 @@
ffmpegmux->videopads = 0;
ffmpegmux->audiopads = 0;
- ffmpegmux->tags = NULL;
}
static void
@@ -343,12 +339,12 @@
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_TAG:{
- GstTagList *taglist = NULL;
+ GstTagList *taglist;
+ GstTagSetter *setter = GST_TAG_SETTER (ffmpegmux);
+ const GstTagMergeMode mode = gst_tag_setter_get_tag_merge_mode (setter);
gst_event_parse_tag (event, &taglist);
- ffmpegmux->tags = gst_tag_list_merge (ffmpegmux->tags, taglist,
- GST_TAG_MERGE_PREPEND);
+ gst_tag_setter_merge_tags (setter, taglist, mode);
break;
}
default:
@@ -369,7 +365,7 @@
GSList *collected;
GstFFMpegMuxPad *best_pad;
GstClockTime best_time;
- const GstTagList *iface_tags;
+ const GstTagList *tags;
/* open "file" (gstreamer protocol to next element) */
if (!ffmpegmux->opened) {
@@ -421,15 +417,11 @@
/* tags */
- iface_tags = gst_tag_setter_get_tag_list (GST_TAG_SETTER (ffmpegmux));
- if (ffmpegmux->tags || iface_tags) {
- GstTagList *tags;
+ tags = gst_tag_setter_get_tag_list (GST_TAG_SETTER (ffmpegmux));
+ if (tags) {
gint i;
gchar *s;
- tags = gst_tag_list_merge (iface_tags, ffmpegmux->tags,
- GST_TAG_MERGE_APPEND);
/* get the interesting ones */
if (gst_tag_list_get_string (tags, GST_TAG_TITLE, &s)) {
strncpy (ffmpegmux->context->title, s,
@@ -458,7 +450,6 @@
if (gst_tag_list_get_int (tags, GST_TAG_TRACK_NUMBER, &i)) {
ffmpegmux->context->track = i;
}
- gst_tag_list_free (tags);
/* set the streamheader flag for gstffmpegprotocol if codec supports it */
@@ -626,10 +617,7 @@
case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
case GST_STATE_CHANGE_PAUSED_TO_READY:
- if (ffmpegmux->tags) {
- gst_tag_list_free (ffmpegmux->tags);
- ffmpegmux->tags = NULL;
- }
+ gst_tag_setter_flush (GST_TAG_SETTER (ffmpegmux));
if (ffmpegmux->opened) {
ffmpegmux->opened = FALSE;
url_fclose (ffmpegmux->context->pb);
------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you. Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
gstreamer-cvs-verbose mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gstreamer-cvs-verbose