diff --git a/mediainfo/src/mi-info.vala b/mediainfo/src/mi-info.vala
index 7e8f475423..7a5860b517 100644
--- a/mediainfo/src/mi-info.vala
+++ b/mediainfo/src/mi-info.vala
@@ -26,7 +26,8 @@ we need to update the vapi for yet unreleased gstreamer api:
cd vala/mediainfo/vapi
vala-gen-introspect gstreamer-pbutils-0.10 packages/gstreamer-pbutils-0.10
vapigen --vapidir . --library gstreamer-pbutils-0.10 packages/gstreamer-pbutils-0.10/gstreamer-pbutils-0.10.gi
-
+sudo cp gstreamer-pbutils-0.10.vapi /usr/share/vala/mediainfo/vapi/
+
*/
public class MediaInfo.Info : VBox
@@ -34,6 +35,8 @@ public class MediaInfo.Info : VBox
// ui components
private Label mime_type;
private Label duration;
+ private Notebook video_streams;
+ private Notebook audio_streams;
private DrawingArea drawing_area;
// gstreamer objects
private Discoverer dc;
@@ -57,7 +60,7 @@ public class MediaInfo.Info : VBox
drawing_area.set_size_request (300, 150);
pack_start (drawing_area, true, true, 0);
- table = new Table (5, 2, false);
+ table = new Table (7, 2, false);
pack_start (table, false, false, 0);
label = new Label (null);
@@ -88,7 +91,9 @@ public class MediaInfo.Info : VBox
table.attach (label, 0, 2, row, row+1, fill_exp, 0, 0, 1);
row++;
- // TODO: add video stream info widgets
+ video_streams = new Notebook ();
+ table.attach (video_streams, 0, 2, row, row+1, fill_exp, 0, 0, 1);
+ row++;
label = new Label (null);
label.set_markup("Audio Streams");
@@ -96,9 +101,15 @@ public class MediaInfo.Info : VBox
table.attach (label, 0, 2, row, row+1, fill_exp, 0, 0, 1);
row++;
- // TODO: add audio stream info widgets
+ audio_streams = new Notebook ();
+ table.attach (audio_streams, 0, 2, row, row+1, fill_exp, 0, 0, 1);
+ row++;
-
+ // TODO: add container stream info widgets
+
+ // TODO: add tag list widget
+
+ // TODO: add message list widget
show_all ();
@@ -143,6 +154,9 @@ public class MediaInfo.Info : VBox
}
try {
+ GLib.List l;
+ DiscovererStreamInfo sinfo;
+
info = dc.discover_uri (uri);
ClockTime dur = info.get_duration ();
@@ -155,10 +169,27 @@ public class MediaInfo.Info : VBox
//stdout.printf ("Duration: %s\n", dur_str);
- // TODO: get more info
- // list = info.get_video_streams ();
- // list = info.get_audio_streams ();
- // list = info.get_container_streams ();
+ // get stream info
+ while (video_streams.get_n_pages() > 0) {
+ video_streams.remove_page (-1);
+ }
+ l = info.get_video_streams ();
+ for (int i = 0; i < l.length (); i++) {
+ sinfo = l.nth_data (i);
+ video_streams.append_page (new Label(sinfo.get_caps ().to_string ()),new Label (@"video $i"));
+ }
+ video_streams.show_all();
+
+ while (audio_streams.get_n_pages() > 0) {
+ audio_streams.remove_page (-1);
+ }
+ l = info.get_audio_streams ();
+ for (int i = 0; i < l.length (); i++) {
+ sinfo = l.nth_data (i);
+ audio_streams.append_page (new Label(sinfo.get_caps ().to_string ()),new Label (@"audio $i"));
+ }
+ audio_streams.show_all();
+ //l = info.get_container_streams ();
} catch (Error e) {
debug ("Failed to extract metadata from %s: %s: %s", uri, e.domain.to_string (), e.message);