diff -ru gst-plugins-ugly-0.10.0/ext/lame/gstlame.c gst-plugins-ugly-0.10.0-malsyned.0/ext/lame/gstlame.c
--- gst-plugins-ugly-0.10.0/ext/lame/gstlame.c	2005-11-22 12:15:25.000000000 -0500
+++ gst-plugins-ugly-0.10.0-malsyned.0/ext/lame/gstlame.c	2005-12-10 00:37:56.000000000 -0500
@@ -66,6 +66,39 @@
         "channels = (int) [ 1, 2 ]")
     );
 
+static struct {
+  char *trackno;
+  char *count;
+} trackNumInfo = {NULL, NULL};
+
+static void
+gst_lame_id3tag_set_track(lame_global_flags *gfp)
+{
+  static char str[6] = "";
+  char *no = trackNumInfo.trackno ? trackNumInfo.trackno : "0";
+  char *ct = trackNumInfo.count ? trackNumInfo.count : "0";
+  g_sprintf(str, "%.2s/%.2s", no, ct);
+  id3tag_set_track(gfp, str);
+}
+
+static void
+gst_lame_set_track (lame_global_flags *gfp, const char *track)
+{
+  if (trackNumInfo.trackno) {
+    g_free(trackNumInfo.trackno);
+  }
+  trackNumInfo.trackno = g_strdup(track);
+}
+
+static void
+gst_lame_set_trackcount (lame_global_flags *gfp, const char *count)
+{
+  if (trackNumInfo.count) {
+    g_free(trackNumInfo.count);
+  }
+  trackNumInfo.count = g_strdup(count);
+}
+
 /********** Define useful types for non-programmatic interfaces **********/
 #define GST_TYPE_LAME_MODE (gst_lame_mode_get_type())
 static GType
@@ -568,7 +601,8 @@
 static GstLameTagMatch tag_matches[] = {
   {GST_TAG_TITLE, id3tag_set_title},
   {GST_TAG_DATE, id3tag_set_year},
-  {GST_TAG_TRACK_NUMBER, id3tag_set_track},
+  {GST_TAG_TRACK_NUMBER, gst_lame_set_track},
+  {GST_TAG_TRACK_COUNT, gst_lame_set_trackcount},
   {GST_TAG_COMMENT, id3tag_set_comment},
   {GST_TAG_ARTIST, id3tag_set_artist},
   {GST_TAG_ALBUM, id3tag_set_album},
@@ -644,6 +678,8 @@
       gst_tag_setter_get_tag_merge_mode (GST_TAG_SETTER (lame)));
   gst_tag_list_foreach ((GstTagList *) copy, add_one_tag, lame);
 
+  gst_lame_id3tag_set_track(lame->lgf); 
+
   gst_tag_list_free (copy);
 }
 
Only in gst-plugins-ugly-0.10.0-malsyned.0/ext/lame: gstlame.c.orig
diff -ru gst-plugins-ugly-0.10.0/ext/lame/gstlame.h gst-plugins-ugly-0.10.0-malsyned.0/ext/lame/gstlame.h
--- gst-plugins-ugly-0.10.0/ext/lame/gstlame.h	2005-10-12 10:30:36.000000000 -0400
+++ gst-plugins-ugly-0.10.0-malsyned.0/ext/lame/gstlame.h	2005-12-10 00:37:56.000000000 -0500
@@ -23,6 +23,7 @@
 
 
 #include <gst/gst.h>
+#include <glib/gprintf.h>
 
 #ifdef __cplusplus
 extern "C" {
