diff options
author | Jason Kridner <jkridner@beagleboard.org> | 2010-06-06 22:14:41 -0500 |
---|---|---|
committer | Koen Kooi <koen@openembedded.org> | 2010-06-07 12:57:15 +0200 |
commit | 1df846cc5ffecf69f162b260eeccc0b070cb6175 (patch) | |
tree | 021f25325d011eee138be9f37472455a1f121ca3 | |
parent | d3525f8547ef52e365e616ef505c45e9dc752866 (diff) |
esc-gst: Added fixup for missing files
-rw-r--r-- | recipes/esc-gst/esc-gst_5.bb | 33 | ||||
-rw-r--r-- | recipes/esc-gst/files/README | 67 | ||||
-rwxr-xr-x | recipes/esc-gst/files/a0 | 3 | ||||
-rw-r--r-- | recipes/esc-gst/files/a_gst.c | 106 | ||||
-rwxr-xr-x | recipes/esc-gst/files/c1 | 8 | ||||
-rwxr-xr-x | recipes/esc-gst/files/n5 | 4 |
6 files changed, 221 insertions, 0 deletions
diff --git a/recipes/esc-gst/esc-gst_5.bb b/recipes/esc-gst/esc-gst_5.bb new file mode 100644 index 0000000000..7c508e79b9 --- /dev/null +++ b/recipes/esc-gst/esc-gst_5.bb @@ -0,0 +1,33 @@ +DESCRIPTION = "Gstreamer scripts for Embedded Systems Conference workshop" +LICENSE = "Various" + +SRC_URI = "http://hivelocity.dl.sourceforge.net/project/showoff/esc_gst_scripts.tar.gz \ + file://README \ + file://a0 \ + file://c1 \ + file://n5 \ + file://a_gst.c \ +" +SRC_URI[md5sum] = "4af79d2967dca3c649d3a644ddd4c604" +SRC_URI[sha256sum] = "d7b486520bf22a1e0bc9a808b1bf42f36a329d5a9f67ea6e0f3a25a9dfde2936" + +S = "${WORKDIR}/esc-gst" + +do_install() { + ESC_FILES="a1 a2 a3 a4 a5 a6 d1 d2 d3 d4 d5 d6 g1 g2 g3 g4 g5 g6 g7 g8 g9" + ESC_FILES="${ESC_FILES} n1 n2 n3 n4 p1 s v1 v2 v3 v4" + install -d ${D}${datadir}/esc-gst + for F in ${ESC_FILES} ; do + install -m 0755 ${S}/${F} ${D}${datadir}/esc-gst + done + install -m 0644 ${S}/README ${D}${datadir}/esc-gst + install -d ${D}${datadir}/applications + install -m 0644 ${S}/GStreamer_Class.desktop ${D}${datadir}/applications/ + install -m 0644 ${WORKDIR}/README ${D}${datadir}/esc-gst + install -m 0755 ${WORKDIR}/a0 ${D}${datadir}/esc-gst + install -m 0755 ${WORKDIR}/c1 ${D}${datadir}/esc-gst + install -m 0755 ${WORKDIR}/n5 ${D}${datadir}/esc-gst + install -m 0644 ${WORKDIR}/a_gst.c ${D}${datadir}/esc-gst +} + +FILES_${PN} += "${datadir}/esc-gst" diff --git a/recipes/esc-gst/files/README b/recipes/esc-gst/files/README new file mode 100644 index 0000000000..acdddbab98 --- /dev/null +++ b/recipes/esc-gst/files/README @@ -0,0 +1,67 @@ + Script | Description +------------------------+------------------------------------------- + +Setup + +s Set PATH and DISPLAY + + +Audio + +a0 ARM based MP3 audio decode +a1 [wave] [duration] Audio test source plays out ALSA audio out +a2 ARM based FLAC audio decode +a3 ARM based MP3 audio decode +a4 ARM based AAC audio decode +a5 [duration] DSP based AAC audio decode +a6 [duration] ALSA audio in to ALSA audio out + + +Video + +v1 [pattern] Video test source displays on X windows using XVideo +v2 [pattern] Warped video test source displays on X windows +v3 [pattern] Edge detection video test source displays on + X windows +v4 [pattern] Vertigo video test source displays on X windows + + +Demultiplexing + +d1 [duration] Figure-it-out-yourself decodebin audio example + (verbose enabled) +d2 [duration] Same as d1 with filter to just list element names +d3 [duration] QuickTime audio with DSP based decode to audio out +d4 [duration] AVI video MPEG2 and audio MP3 using ARM decode +d5 YouTube FLV video VP and audio MP3 using ARM decode +d6 [duration] QuickTime DSP video decode and ARM audio (AAC) decode + +Compiling source code + +c1 Compile and run audio example a_gst.c + +GStreamer Daemon + +g1 Start GStreamer Daemon +g2 Create QuickTime (d4) pipeline +g3 Change pipeline to pause state +g4 Change pipeline to play state +g5 Change pipeline to pause state +g6 Change pipeline to play state +g7 Set speed to 2x +g8 Set speed to 1/2 +g9 Kill pipeline (set pipeline to NULL) + + +Performance measurement + +p1 YouTube FLV (d5) with performance data + + +Networking + +n1 Reminder text on how to start live555 +n2 [host IP address] RTSP stream MP3 audio from host +n3 [host IP address] RTP stream send audio data +n4 RTP stream receive audio data +n5 Stream video from Leopard Board 365 diff --git a/recipes/esc-gst/files/a0 b/recipes/esc-gst/files/a0 new file mode 100755 index 0000000000..ae58377502 --- /dev/null +++ b/recipes/esc-gst/files/a0 @@ -0,0 +1,3 @@ +#! /bin/sh +set -x +gst-launch filesrc location=/usr/share/esc-media/bbb.mp3 ! mad ! alsasink diff --git a/recipes/esc-gst/files/a_gst.c b/recipes/esc-gst/files/a_gst.c new file mode 100644 index 0000000000..4b2763a1c8 --- /dev/null +++ b/recipes/esc-gst/files/a_gst.c @@ -0,0 +1,106 @@ +/* Gstreamer Audio Player Example */ + +#include <gst/gst.h> +#include <glib.h> + +static gboolean +bus_call (GstBus *bus, + GstMessage *msg, + gpointer data) +{ + GMainLoop *loop = (GMainLoop *) data; + + switch (GST_MESSAGE_TYPE (msg)) { + + case GST_MESSAGE_EOS: + g_print ("End of stream\n"); + g_main_loop_quit (loop); + break; + + case GST_MESSAGE_ERROR: { + gchar *debug; + GError *error; + + gst_message_parse_error (msg, &error, &debug); + g_free (debug); + + g_printerr ("Error: %s\n", error->message); + g_error_free (error); + + g_main_loop_quit (loop); + break; + } + default: + break; + } + + return TRUE; +} + +int +main (int argc, + char *argv[]) +{ + GMainLoop *loop; + + GstElement *pipeline, *source, *decoder, *sink; + GstBus *bus; + + /* Initialisation */ + gst_init (&argc, &argv); + + loop = g_main_loop_new (NULL, FALSE); + + /* Check input arguments */ + if (argc != 2) { + g_printerr ("Usage: %s <MP3 filename>\n", argv[0]); + return -1; + } + + /* Create gstreamer elements */ + pipeline = gst_pipeline_new ("audio-player"); + source = gst_element_factory_make ("filesrc", "file-source"); + decoder = gst_element_factory_make ("mad", "mp3-decoder"); + sink = gst_element_factory_make ("alsasink", "audio-output"); + + if (!pipeline || !source || !decoder || !sink) { + g_printerr ("One element could not be created. Exiting.\n"); + return -1; + } + + /* Set up the pipeline */ + + /* we set the input filename to the source element */ + g_object_set (G_OBJECT (source), "location", argv[1], NULL); + + /* we add a message handler */ + bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline)); + gst_bus_add_watch (bus, bus_call, loop); + gst_object_unref (bus); + + /* we add all elements into the pipeline */ + /* filesource | mad | alsasink */ + gst_bin_add_many (GST_BIN (pipeline), + source, decoder, sink, NULL); + + /* we link the elements together */ + /* file-source -> mad -> alsasink */ + gst_element_link_many (source,decoder, sink, NULL); + + /* Set the pipeline to "playing" state*/ + g_print ("Now playing: %s\n", argv[1]); + gst_element_set_state (pipeline, GST_STATE_PLAYING); + + /* Iterate */ + g_print ("Running...\n"); + g_main_loop_run (loop); + + /* Out of the main loop, clean up nicely */ + g_print ("Returned, stopping playback\n"); + gst_element_set_state (pipeline, GST_STATE_NULL); + + g_print ("Deleting pipeline\n"); + gst_object_unref (GST_OBJECT (pipeline)); + + return 0; +} diff --git a/recipes/esc-gst/files/c1 b/recipes/esc-gst/files/c1 new file mode 100755 index 0000000000..c851b89de2 --- /dev/null +++ b/recipes/esc-gst/files/c1 @@ -0,0 +1,8 @@ +#! /bin/sh +set -x + +export PKG_CONFIG_PATH=/usr/lib/pkgconfig + +gcc -Wall $(pkg-config --cflags --libs gstreamer-0.10) a_gst.c -o a_gst + +a_gst /usr/share/esc-media/bbb.mp3 diff --git a/recipes/esc-gst/files/n5 b/recipes/esc-gst/files/n5 new file mode 100755 index 0000000000..c5d7f3ea3d --- /dev/null +++ b/recipes/esc-gst/files/n5 @@ -0,0 +1,4 @@ +#! /bin/sh +set -x +gst-launch udpsrc port=5434 caps="application/x-rtp, payload=96, clock-rate=90000, encoding-name=MP4V-ES" ! rtpmp4vdepay ! video/mpeg, mpegversion=4, systemstream=false, framerate=\(fraction\)23/1, width=1280, height=720, codec_data=\(buffer\)000001010000012000845d4c294022d0a21f ! ffdec_mpeg4 ! dmaiperf print-arm-load=true ! omapdmaifbsink + |