add a unit test for matroskamux fix the bugs that the unit test exposed
authorMichal Benes <michal.benes@xeris.cz>
Tue, 1 Nov 2005 14:36:02 +0000 (14:36 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Tue, 1 Nov 2005 14:36:02 +0000 (14:36 +0000)
Original commit message from CVS:
Patch by: Michal Benes <michal.benes@xeris.cz>

* check/Makefile.am:
* gst/matroska/ebml-write.c: (gst_ebml_write_seek):
* gst/matroska/matroska-mux.c: (gst_matroska_mux_handle_src_event),
(gst_matroska_mux_audio_pad_setcaps), (gst_matroska_mux_start):
add a unit test for matroskamux
fix the bugs that the unit test exposed

ChangeLog
check/Makefile.am
gst/matroska/ebml-write.c
gst/matroska/matroska-mux.c
tests/check/Makefile.am

index a1ae81a..b42970d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2005-11-01  Thomas Vander Stichele  <thomas at apestaart dot org>
+
+       Patch by: Michal Benes <michal.benes@xeris.cz>
+
+       * check/Makefile.am:
+       * gst/matroska/ebml-write.c: (gst_ebml_write_seek):
+       * gst/matroska/matroska-mux.c: (gst_matroska_mux_handle_src_event),
+       (gst_matroska_mux_audio_pad_setcaps), (gst_matroska_mux_start):
+         add a unit test for matroskamux
+         fix the bugs that the unit test exposed
+
 2005-11-01  Tim-Philipp Müller  <tim at centricular dot net>
 
        * gst/autodetect/gstautoaudiosink.c:
index 7962f68..256c19a 100644 (file)
@@ -18,7 +18,9 @@ clean-local: clean-local-check
 TESTS = $(check_PROGRAMS)
 
 check_PROGRAMS = \
-       elements/level
+       elements/level \
+    elements/matroskamux
+    
 
 # these tests don't even pass
 noinst_PROGRAMS =
index 46c8384..2017740 100644 (file)
@@ -384,8 +384,7 @@ gst_ebml_write_seek (GstEbmlWrite * ebml, guint64 pos)
     }
   }
 
-  seek = gst_event_new_newsegment (FALSE, 1.0, GST_FORMAT_BYTES,
-      pos, -1, GST_CLOCK_TIME_NONE);
+  seek = gst_event_new_newsegment (FALSE, 1.0, GST_FORMAT_BYTES, pos, -1, 0);
   peer_pad = GST_PAD_PEER (ebml->srcpad);
   if (peer_pad) {
     gst_pad_send_event (peer_pad, seek);
index ca8ab86..d922cbd 100644 (file)
@@ -389,11 +389,8 @@ gst_matroska_mux_reset (GstElement * element)
 static gboolean
 gst_matroska_mux_handle_src_event (GstPad * pad, GstEvent * event)
 {
-  GstMatroskaMux *mux;
   GstEventType type;
 
-  mux = GST_MATROSKA_MUX (gst_pad_get_parent (pad));
-
   type = event ? GST_EVENT_TYPE (event) : GST_EVENT_UNKNOWN;
 
   switch (type) {
@@ -607,7 +604,6 @@ gst_matroska_mux_audio_pad_setcaps (GstPad * pad, GstCaps * caps)
   GstMatroskaTrackContext *context = NULL;
   GstMatroskaTrackAudioContext *audiocontext;
   GstMatroskaPad *collect_pad;
-  GstMatroskaMux *mux = GST_MATROSKA_MUX (gst_pad_get_parent (pad));
   const gchar *mimetype;
   gint samplerate = 0, channels = 0;
   GstStructure *structure;
@@ -763,15 +759,14 @@ gst_matroska_mux_audio_pad_setcaps (GstPad * pad, GstCaps * caps)
             audiocontext->samplerate = GST_READ_UINT32_LE (hdr + 1);
           }
         } else {
-          GST_WARNING_OBJECT (mux, "Vorbis header does not contain "
+          GST_WARNING ("Vorbis header does not contain "
               "three buffers (found %d buffers), Ignoring.", bufarr->len);
         }
       }
     }
 
     if (priv_data == NULL) {
-      GST_WARNING_OBJECT (mux,
-          "Could not write Vorbis header into codec private data. "
+      GST_WARNING ("Could not write Vorbis header into codec private data. "
           "You will probably not be able to play the stream.");
     }
 
@@ -1085,7 +1080,8 @@ gst_matroska_mux_start (GstMatroskaMux * mux)
     collect_pad = (GstMatroskaPad *) collected->data;
     thepad = collect_pad->collect.pad;
 
-    if (GST_PAD_IS_USABLE (thepad)) {
+    if (GST_PAD_IS_USABLE (thepad)
+        && collect_pad->track->codec_id != 0) {
       collect_pad->track->num = tracknum++;
       child = gst_ebml_write_master_start (ebml, GST_MATROSKA_ID_TRACKENTRY);
       gst_matroska_mux_track_header (mux, collect_pad->track);
index 7962f68..256c19a 100644 (file)
@@ -18,7 +18,9 @@ clean-local: clean-local-check
 TESTS = $(check_PROGRAMS)
 
 check_PROGRAMS = \
-       elements/level
+       elements/level \
+    elements/matroskamux
+    
 
 # these tests don't even pass
 noinst_PROGRAMS =