All Boards Creating App Video

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

All Boards Creating App Video

All Boards Creating App Video

Instead to use gst-launch to play your audio/video media you can create an application do to that.

This application was tested in iMX27ADS but should to work on iMX27PDK

First execute LTIB (./ltib -c) and select these packages: all gstreamer plugin, alsa-utils and libmad.

Create your file code (i.e.: playvideo.c):

#include <gst/gst.h>

#include <glib.h> #include <string.h>



static GstElement *source, *demuxer, *vdqueue, *adqueue, *vdsink, *adsink, *decvd, *decad;

void on_pad_added (GstElement *element, GstPad *pad)
{
        g_debug ("Signal: pad-added");
        GstCaps *caps;
        GstStructure *str;

        caps = gst_pad_get_caps (pad);
        g_assert (caps != NULL);
        str = gst_caps_get_structure (caps, 0);
        g_assert (str != NULL);

        if (g_strrstr (gst_structure_get_name (str), "video")) {
                g_debug ("Linking video pad to dec_vd");
                // Link it actually
                GstPad *targetsink = gst_element_get_pad (decvd, "sink");
                g_assert (targetsink != NULL);
                gst_pad_link (pad, targetsink);
                gst_object_unref (targetsink);
        }

        if (g_strrstr (gst_structure_get_name (str), "audio")) {
                g_debug ("Linking audio pad to dec_ad");
                // Link it actually
                GstPad *targetsink = gst_element_get_pad (decad, "sink");
                g_assert (targetsink != NULL);
                gst_pad_link (pad, targetsink);
                gst_object_unref (targetsink);
        }

        gst_caps_unref (caps);
}

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;
  GstBus *bus;

  /* Initialisation */
  gst_init (&argc, &argv);

  loop = g_main_loop_new (NULL, FALSE);


  /* Check input arguments */
  if (argc != 2) {
    g_printerr ("Usage: %s <Video H264 filename>\n", argv[0]);
    return -1;
  }


  /* Create gstreamer elements */
  pipeline      = gst_pipeline_new ("media-player");
  source        = gst_element_factory_make ("filesrc","file-source");
  demuxer      = gst_element_factory_make ("mfw_mp4demuxer","avi-demuxer");
  decvd        = gst_element_factory_make ("mfw_vpudecoder", "video-decoder");
  decad        = gst_element_factory_make ("mad", "mp3-decoder");
  vdsink        = gst_element_factory_make ("mfw_v4lsink",    "video-sink");
  vdqueue      = gst_element_factory_make ("queue",            "video-queue");
  adqueue      = gst_element_factory_make ("queue",            "audio-queue");
  adsink        = gst_element_factory_make ("fakesink",        "audio-sink");

  g_object_set (decvd, "codec-type", "std_avc", NULL);

  if (!pipeline || !source || !demuxer || !decvd || !decad || !vdsink || !vdqueue || !adqueue || !adsink) {
    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 */
  /* file-source | ogg-demuxer | vorbis-decoder | converter | alsa-output */
  gst_bin_add_many (GST_BIN (pipeline),
                    source, demuxer, decvd, decad, adqueue, vdqueue, vdsink, adsink,  NULL);

  /* we link the elements together */
  /* file-source -> ogg-demuxer ~> vorbis-decoder -> converter -> alsa-output */
  gst_element_link (source, demuxer);
  gst_element_link (decvd, vdqueue);
  gst_element_link (vdqueue, vdsink);
  //gst_element_link (decad, adqueue);
  gst_element_link (adqueue, adsink);

  g_signal_connect (demuxer, "pad-added", G_CALLBACK (on_pad_added), NULL);

  /* note that the demuxer will be linked to the decoder dynamically.
    The reason is that Ogg may contain various streams (for example
    audio and video). The source pad(s) will be created at run time,
    by the demuxer when it detects the amount and nature of streams.
    Therefore we connect a callback function which will be executed
    when the "pad-added" is emitted.*/

  /* 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;
}

Create a directory inside your ltib directory to compile your source code:

$ mkdir ~/your-ltib-dir/rpm/BUILD/gst

Enter on LTIB shell mode:

$ ./ltib -m shell

Entering ltib shell mode, type 'exit' to quit

LTIB>

Enter in your application dir:

LTIB> cd rpm/BUILD/gst/

Compile your application:

LTIB> gcc -Wall $(pkg-config --cflags --libs gstreamer-0.10) playvideo.c -o playvideo

If everything worked file you will get a "playvideo" arm binary:

LTIB> file playvideo

playvideo: ELF 32-bit LSB executable, ARM, version 1 (SYSV), for GNU/Linux 2.6.14, dynamically linked (uses shared libs), not stripped

Now just copy it to ~/your-ltib-dir/rootfs/home.

Start your board using this rootfs and execute:

root@freescale ~$ cd /home/

root@freescale /home$ ./playvideo your-file-h264-mp3.avi

Now playing: your-file-h264-mp3.avi

Running...

コメント

Hi Jesseg,

Where I can get mfw_mp3_encode/decode source code and how to add them into my ltib environment, I am using imx27ads board and BSP REL2

Best regards.

%3CLINGO-SUB%20id%3D%22lingo-sub-1104011%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E5%8B%95%E7%94%BB%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%83%9C%E3%83%BC%E3%83%89%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1104011%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3E%E4%BB%A3%E3%82%8F%E3%82%8A%E3%81%AB%E3%80%81gst-launch%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%82%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%82%AA%2F%E3%83%93%E3%83%87%E3%82%AA%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A2%E3%82%92%E5%86%8D%E7%94%9F%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%80%81%E3%81%9D%E3%82%8C%E3%81%AB%E5%AF%BE%E3%81%97%E3%81%A6%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E4%BD%9C%E6%88%90%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CDIV%20style%3D%22background-color%3A%20%23eeeeff%3B%20padding-left%3A%2030px%3B%20width%3A%2060%25%3B%20margin-left%3A%2020%25%3B%22%3E%E3%81%93%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AFiMX27ADS%E3%81%A7%E3%83%86%E3%82%B9%E3%83%88%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81iMX27PDK%E3%81%A7%E5%8B%95%E4%BD%9C%E3%81%99%E3%82%8B%E3%81%AF%E3%81%9A%E3%81%A7%E3%81%99%3C%2FDIV%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%81%BE%E3%81%9A%20LTIB%20(.%2Fltib%20-c)%20%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%80%81%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%20gstreamer%20%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%80%81alsa-utils%E3%80%81libmad%20%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%3CP%3E%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%81%BE%E3%81%99(%E4%BE%8B%3Aplayvideo.c)%E3%80%82%3C%2FP%3E%3CBLOCKQUOTE%3E%23include%20%26lt%3B%20GST%2FGST.h%26gt%3B%0A%3CP%3E%23include%20%3CGLIB.H%3E%23include%20%3CSTRING.H%3E%3C%2FSTRING.H%3E%3C%2FGLIB.H%3E%3C%2FP%3E%0A%0A%0A%3CBR%20%2F%3E%3CBR%20%2F%3E%0A%3CP%3Estatic%20GstElement%20*source%2C%20*demuxer%2C%20*vdqueue%2C%20*adqueue%2C%20*vdsink%2C%20*adsink%2C%20*decvd%2C%20*decad%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%E3%83%9C%E3%82%A4%E3%83%89on_pad_added(GstElement%20*element%E3%80%81GstPad%20*pad)%3CBR%20%2F%3E%7B%3CBR%20%2F%3Eg_debug%20(%22%E4%BF%A1%E5%8F%B7%3A%20%E3%83%91%E3%83%83%E3%83%89%E8%BF%BD%E5%8A%A0%22)%3B%3CBR%20%2F%3EGstCaps%20*%E3%82%AD%E3%83%A3%E3%83%83%E3%83%97%3B%3CBR%20%2F%3EGstStructure%20*str%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%E3%82%AD%E3%83%A3%E3%83%83%E3%83%97%20%3D%20gst_pad_get_caps%20(%E3%83%91%E3%83%83%E3%83%89)%3B%3CBR%20%2F%3Eg_assert%20(%E5%A4%A7%E6%96%87%E5%AD%97%20!%3D%20NULL)%3B%3CBR%20%2F%3Estr%20%3D%20gst_caps_get_structure%20(%E5%A4%A7%E6%96%87%E5%AD%97%E3%80%810)%3B%3CBR%20%2F%3Eg_assert%20(str%20!%3D%20NULL)%3B%3CBR%20%2F%3E%3CBR%20%2F%3Eif%20(g_strrstr%20(gst_structure_get_name%20(str)%2C%20%22%E3%83%93%E3%83%87%E3%82%AA%22))%20%7B%3CBR%20%2F%3Eg_debug(%E3%80%8C%E3%83%93%E3%83%87%E3%82%AA%E3%83%91%E3%83%83%E3%83%89%E3%82%92dec_vd%E3%81%AB%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%99%E3%82%8B%E3%80%8D)%3B%3CBR%20%2F%3E%E5%AE%9F%E9%9A%9B%E3%81%AB%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%99%E3%82%8B%3CBR%20%2F%3EGstPad%20*targetsink%20%3D%20gst_element_get_pad%20(decvd%2C%20%22sink%22)%3B%3CBR%20%2F%3Eg_assert%20(targetsink%20!%3D%20NULL)%3B%3CBR%20%2F%3Egst_pad_link(%E3%83%91%E3%83%83%E3%83%89%E3%80%81%E3%82%BF%E3%83%BC%E3%82%B2%E3%83%83%E3%83%88%E3%82%B7%E3%83%B3%E3%82%AF)%3B%3CBR%20%2F%3Egst_object_unref%20(%E3%82%BF%E3%83%BC%E3%82%B2%E3%83%83%E3%83%88%E3%82%B7%E3%83%B3%E3%82%AF)%3B%3CBR%20%2F%3E%7D%3CBR%20%2F%3E%3CBR%20%2F%3Eif%20(g_strrstr%20(gst_structure_get_name%20(str)%2C%20%22%E3%82%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%82%AA%22))%20%7B%3CBR%20%2F%3Eg_debug(%E3%80%8C%E3%82%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%82%AA%E3%83%91%E3%83%83%E3%83%89%E3%82%92dec_ad%E3%81%AB%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%99%E3%82%8B%E3%80%8D)%3B%3CBR%20%2F%3E%E5%AE%9F%E9%9A%9B%E3%81%AB%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%99%E3%82%8B%3CBR%20%2F%3EGstPad%20*targetsink%20%3D%20gst_element_get_pad%20(decad%2C%20%22sink%22)%3B%3CBR%20%2F%3Eg_assert(%E3%82%BF%E3%83%BC%E3%82%B2%E3%83%83%E3%83%88%E3%82%A4%E3%83%B3%E3%82%AF!%3D%20NULL)%3B%3CBR%20%2F%3Egst_pad_link(%E3%83%91%E3%83%83%E3%83%89%E3%80%81%E3%82%BF%E3%83%BC%E3%82%B2%E3%83%83%E3%83%88%E3%82%B7%E3%83%B3%E3%82%AF)%3B%3CBR%20%2F%3Egst_object_unref%20(%E3%82%BF%E3%83%BC%E3%82%B2%E3%83%83%E3%83%88%E3%82%B7%E3%83%B3%E3%82%AF)%3B%3CBR%20%2F%3E%7D%3CBR%20%2F%3E%3CBR%20%2F%3Egst_caps_unref(%E3%82%AD%E3%83%A3%E3%83%83%E3%83%97)%3B%3CBR%20%2F%3E%7D%3CBR%20%2F%3E%3CBR%20%2F%3E%E9%9D%99%E7%9A%84%20gboolean%3CBR%20%2F%3Ebus_call(GstBus%20*%E3%83%90%E3%82%B9%E3%80%81%3CBR%20%2F%3EGstMessage%20*msg%2C%3CBR%20%2F%3Egpointer%20%E3%83%87%E3%83%BC%E3%82%BF)%3CBR%20%2F%3E%7B%3CBR%20%2F%3EGMainLoop%20*loop%20%3D%20(GMainLoop%20*)%20%E3%83%87%E3%83%BC%E3%82%BF%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81%20(GST_MESSAGE_TYPE%20(msg))%20%7B%3CBR%20%2F%3E%3CBR%20%2F%3E%E3%82%B1%E3%83%BC%E3%82%B9GST_MESSAGE_EOS%3A%3CBR%20%2F%3Eg_print%20(%22%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%A0%E3%81%AE%E7%B5%82%E4%BA%86%5Cn%22)%3B%3CBR%20%2F%3Eg_main_loop_quit%20(%E3%83%AB%E3%83%BC%E3%83%97)%3B%3CBR%20%2F%3E%E5%A3%8A%E3%81%99%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%E3%82%B1%E3%83%BC%E3%82%B9GST_MESSAGE_ERROR%3A%20%7B%3CBR%20%2F%3Egchar%20*%E3%83%87%E3%83%90%E3%83%83%E3%82%B0%3B%3CBR%20%2F%3EGError%20*%E3%82%A8%E3%83%A9%E3%83%BC%3B%3CBR%20%2F%3E%3CBR%20%2F%3Egst_message_parse_error%20(msg%E3%80%81%26amp%3Berror%E3%80%81%26amp%3Bdebug)%3B%3CBR%20%2F%3Eg_free%20(%E3%83%87%E3%83%90%E3%83%83%E3%82%B0)%3B%3CBR%20%2F%3E%3CBR%20%2F%3Eg_printerr%20(%22%E3%82%A8%E3%83%A9%E3%83%BC%3A%20%25s%5Cn%22%2C%20%E3%82%A8%E3%83%A9%E3%83%BC%26gt%3B%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8)%3B%3CBR%20%2F%3Eg_error_free%20(%E3%82%A8%E3%83%A9%E3%83%BC)%3B%3CBR%20%2F%3E%3CBR%20%2F%3Eg_main_loop_quit%20(%E3%83%AB%E3%83%BC%E3%83%97)%3B%3CBR%20%2F%3E%E5%A3%8A%E3%81%99%3B%3CBR%20%2F%3E%7D%3CBR%20%2F%3E%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%EF%BC%9A%3CBR%20%2F%3E%E5%A3%8A%E3%81%99%3B%3CBR%20%2F%3E%7D%3CBR%20%2F%3E%3CBR%20%2F%3ETRUE%20%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%7D%3CBR%20%2F%3E%3CBR%20%2F%3E%E6%95%B4%E6%95%B0%3CBR%20%2F%3Emain%20(int%20argc%2C%3CBR%20%2F%3Echar%20*argv%5B%5D)%3CBR%20%2F%3E%7B%3CBR%20%2F%3EGMainLoop%20*%E3%83%AB%E3%83%BC%E3%83%97%3B%3CBR%20%2F%3E%3CBR%20%2F%3EGstElement%20*%E3%83%91%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%B3%3B%3CBR%20%2F%3EGstBus%20*%E3%83%90%E3%82%B9%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%2F*%E5%88%9D%E6%9C%9F%E5%8C%96*%2F%3CBR%20%2F%3Egst_init%20(%26amp%3Bargc%2C%20%26amp%3Bargv)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%E3%83%AB%E3%83%BC%E3%83%97%20%3D%20g_main_loop_new%20(NULL%2C%20FALSE)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%2F*%20%E5%85%A5%E5%8A%9B%E5%BC%95%E6%95%B0%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%20*%2F%3CBR%20%2F%3Eif%20(argc%20!%3D%202)%20%7B%3CBR%20%2F%3Eg_printerr%20(%22%E4%BD%BF%E7%94%A8%E6%B3%95%3A%20%25s%20%3CVIDEO%20h264%3D%22%22%20filename%3D%22%22%3E%5Cn%22%2C%20argv%5B0%5D)%3B%3CBR%20%2F%3E-1%20%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%7D%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%2F*%20gstreamer%20%E8%A6%81%E7%B4%A0%E3%82%92%E4%BD%9C%E6%88%90%20*%2F%3CBR%20%2F%3E%E3%83%91%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%B3%20%3D%20gst_pipeline_new%20(%22%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A2%E3%83%97%E3%83%AC%E3%83%BC%E3%83%A4%E3%83%BC%22)%3B%3CBR%20%2F%3Esource%20%3D%20gst_element_factory_make%20(%22filesrc%22%2C%22file-source%22)%3B%3CBR%20%2F%3E%E3%83%87%E3%83%9E%E3%83%AB%E3%83%81%E3%83%97%E3%83%AC%E3%82%AF%E3%82%B5%20%3D%20gst_element_factory_make%20(%22mfw_mp4demuxer%22%2C%22avi-demuxer%22)%3B%3CBR%20%2F%3Edecvd%20%3D%20gst_element_factory_make%20(%22mfw_vpudecoder%22%2C%20%22%E3%83%93%E3%83%87%E3%82%AA%E3%83%87%E3%82%B3%E3%83%BC%E3%83%80%22)%3B%3CBR%20%2F%3Edecad%20%3D%20gst_element_factory_make%20(%22mad%22%2C%20%22mp3-decoder%22)%3B%3CBR%20%2F%3Evdsink%20%3D%20gst_element_factory_make%20(%22mfw_v4lsink%22%2C%20%22video-sink%22)%3B%3CBR%20%2F%3Evdqueue%20%3D%20gst_element_factory_make%20(%22%E3%82%AD%E3%83%A5%E3%83%BC%22%2C%20%22%E3%83%93%E3%83%87%E3%82%AA%E3%82%AD%E3%83%A5%E3%83%BC%22)%3B%3CBR%20%2F%3Eadqueue%20%3D%20gst_element_factory_make%20(%22%E3%82%AD%E3%83%A5%E3%83%BC%22%2C%20%22%E3%82%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%82%AA%E3%82%AD%E3%83%A5%E3%83%BC%22)%3B%3CBR%20%2F%3Eadsink%20%3D%20gst_element_factory_make%20(%22fakesink%22%2C%20%22audio-sink%22)%3B%3CBR%20%2F%3E%3CBR%20%2F%3Eg_object_set%20(decvd%2C%20%22codec-type%22%2C%20%22std_avc%22%2C%20NULL)%3B%3CBR%20%2F%3E%3CBR%20%2F%3Eif%20(!pipeline%20%7C%7C%20!source%20%7C%7C%20!demuxer%20%7C%7C%20!decvd%20%7C%7C%20!decad%20%7C%7C%20!vdsink%20%7C%7C%20!vdqueue%20%7C%7C%20!adqueue%20%7C%7C%20!adsink)%20%7B%3CBR%20%2F%3Eg_printerr%20(%221%20%E3%81%A4%E3%81%AE%E8%A6%81%E7%B4%A0%E3%82%92%E4%BD%9C%E6%88%90%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%81%A7%E3%81%97%E3%81%9F%E3%80%82%E7%B5%82%E4%BA%86%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%5Cn%22)%3B%3CBR%20%2F%3E-1%20%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%7D%3CBR%20%2F%3E%3CBR%20%2F%3E%2F*%20%E3%83%91%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%B3%E3%81%AE%E8%A8%AD%E5%AE%9A%20*%2F%3CBR%20%2F%3E%3CBR%20%2F%3E%2F*%20%E5%85%A5%E5%8A%9B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%90%8D%E3%82%92%E3%82%BD%E3%83%BC%E3%82%B9%E8%A6%81%E7%B4%A0%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%BE%E3%81%99%20*%2F%3CBR%20%2F%3Eg_object_set%20(G_OBJECT%20(%E3%82%BD%E3%83%BC%E3%82%B9)%2C%20%22location%22%2C%20argv%5B1%5D%2C%20NULL)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%2F*%20%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%83%8F%E3%83%B3%E3%83%89%E3%83%A9%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%BE%E3%81%99%20*%2F%3CBR%20%2F%3E%E3%83%90%E3%82%B9%20%3D%20gst_pipeline_get_bus%20(GST_PIPELINE%20(%E3%83%91%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%B3))%3B%3CBR%20%2F%3Egst_bus_add_watch(%E3%83%90%E3%82%B9%E3%80%81bus_call%E3%80%81%E3%83%AB%E3%83%BC%E3%83%97)%3B%3CBR%20%2F%3Egst_object_unref(%E3%83%90%E3%82%B9)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%2F*%20%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E8%A6%81%E7%B4%A0%E3%82%92%E3%83%91%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%B3%E3%81%AB%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%BE%E3%81%99%20*%2F%3CBR%20%2F%3E%2F*%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%BD%E3%83%BC%E3%82%B9%20%7COGG-%E3%83%87%E3%83%9E%E3%83%AB%E3%83%81%E3%83%97%E3%83%AC%E3%82%AF%E3%82%B5%20%7Cvorbis-%E3%83%87%E3%82%B3%E3%83%BC%E3%83%80%20%7C%E3%82%B3%E3%83%B3%E3%83%90%E3%83%BC%E3%82%BF%20%7Calsa-output%20*%2F%3CBR%20%2F%3Egst_bin_add_many(GST_BIN(%E3%83%91%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%B3)%E3%80%81%3CBR%20%2F%3E%E3%82%BD%E3%83%BC%E3%82%B9%E3%80%81%E3%83%87%E3%83%9E%E3%83%AB%E3%83%81%E3%83%97%E3%83%AC%E3%82%AF%E3%82%B5%E3%80%81decvd%E3%80%81decad%E3%80%81adqueue%E3%80%81vdqueue%E3%80%81vdsink%E3%80%81adsink%E3%80%81NULL)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%2F*%20%E8%A6%81%E7%B4%A0%E3%82%92%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%97%E3%81%BE%E3%81%99%20*%2F%3CBR%20%2F%3E%2F*%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%BD%E3%83%BC%E3%82%B9%20-%26gt%3B%20ogg-demuxer%20~%26gt%3B%20vorbis-decoder%20-%26gt%3B%20%E3%82%B3%E3%83%B3%E3%83%90%E3%83%BC%E3%82%BF%E3%83%BC%20-%26gt%3B%20alsa-output%20*%2F%3CBR%20%2F%3Egst_element_link(%E3%82%BD%E3%83%BC%E3%82%B9%E3%80%81%E3%83%87%E3%83%9E%E3%83%AB%E3%83%81%E3%83%97%E3%83%AC%E3%82%AF%E3%82%B5)%3B%3CBR%20%2F%3Egst_element_link%20(decvd%2C%20vdqueue)%3B%3CBR%20%2F%3Egst_element_link%20(vdqueue%2C%20vdsink)%3B%3CBR%20%2F%3Egst_element_link%20(decad%2C%20adqueue)%3B%3CBR%20%2F%3Egst_element_link%20(adqueue%E3%80%81adsink)%3B%3CBR%20%2F%3E%3CBR%20%2F%3Eg_signal_connect%20(%E3%83%87%E3%83%9E%E3%83%AB%E3%83%81%E3%83%97%E3%83%AC%E3%82%AF%E3%82%B5%E3%80%81%22%E3%83%91%E3%83%83%E3%83%89%E8%BF%BD%E5%8A%A0%22%E3%80%81G_CALLBACK%20(on_pad_added)%E3%80%81NULL)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%2F*%20%E3%83%87%E3%83%9E%E3%83%AB%E3%83%81%E3%83%97%E3%83%AC%E3%82%AF%E3%82%B5%E3%81%AF%E3%83%87%E3%82%B3%E3%83%BC%E3%83%80%E3%81%AB%E5%8B%95%E7%9A%84%E3%81%AB%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%95%E3%82%8C%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AB%E6%B3%A8%E6%84%8F%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%E3%81%9D%E3%81%AE%E7%90%86%E7%94%B1%E3%81%AF%E3%80%81Ogg%20%E3%81%AB%E3%81%AF%E3%81%95%E3%81%BE%E3%81%96%E3%81%BE%E3%81%AA%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%A0%E3%81%8C%E5%90%AB%E3%81%BE%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E5%8F%AF%E8%83%BD%E6%80%A7%E3%81%8C%E3%81%82%E3%82%8B%E3%81%9F%E3%82%81%E3%81%A7%E3%81%99%20(%E3%81%9F%E3%81%A8%E3%81%88%E3%81%B0%E3%80%81%3CBR%20%2F%3E%E3%82%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%82%AA%E3%81%A8%E3%83%93%E3%83%87%E3%82%AA)%E3%80%82%E3%82%BD%E3%83%BC%E3%82%B9%E3%83%91%E3%83%83%E3%83%89%E3%81%AF%E5%AE%9F%E8%A1%8C%E6%99%82%E3%81%AB%E4%BD%9C%E6%88%90%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%E3%83%87%E3%83%9E%E3%83%AB%E3%83%81%E3%83%97%E3%83%AC%E3%82%AF%E3%82%B5%E3%81%8C%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%A0%E3%81%AE%E9%87%8F%E3%81%A8%E6%80%A7%E8%B3%AA%E3%82%92%E6%A4%9C%E5%87%BA%E3%81%97%E3%81%9F%E3%81%A8%E3%81%8D%E3%81%AB%E3%80%82%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%E3%81%97%E3%81%9F%E3%81%8C%E3%81%A3%E3%81%A6%E3%80%81%E5%AE%9F%E8%A1%8C%E3%81%95%E3%82%8C%E3%82%8B%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF%E9%96%A2%E6%95%B0%E3%82%92%E6%8E%A5%E7%B6%9A%E3%81%97%E3%81%BE%E3%81%99%3CBR%20%2F%3E%E3%80%8Cpad-added%E3%80%8D%E3%81%8C%E7%99%BA%E3%81%9B%E3%82%89%E3%82%8C%E3%81%9F%E3%81%A8%E3%81%8D*%2F%3CBR%20%2F%3E%3CBR%20%2F%3E%26nbsp%3B%2F*%20%E3%83%91%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%B3%E3%82%92%E3%80%8C%E5%86%8D%E7%94%9F%E4%B8%AD%E3%80%8D%E7%8A%B6%E6%85%8B%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B*%2F%3CBR%20%2F%3Eg_print%20(%22%E5%86%8D%E7%94%9F%E4%B8%AD%3A%20%25s%5Cn%22%2C%20argv%5B1%5D)%3B%3CBR%20%2F%3Egst_element_set_state(%E3%83%91%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%B3%E3%80%81GST_STATE_PLAYING)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%2F*%E5%8F%8D%E5%BE%A9%20%E5%87%A6%E7%90%86*%2F%3CBR%20%2F%3Eg_print%20(%22%E5%AE%9F%E8%A1%8C%E4%B8%AD...%5Cn%22)%3B%3CBR%20%2F%3Eg_main_loop_run%20(%E3%83%AB%E3%83%BC%E3%83%97)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%2F*%20%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%AB%E3%83%BC%E3%83%97%E3%81%8B%E3%82%89%E6%8A%9C%E3%81%91%E5%87%BA%E3%81%97%E3%80%81%E3%81%8D%E3%82%8C%E3%81%84%E3%81%AB%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%A2%E3%83%83%E3%83%97%20*%2F%3CBR%20%2F%3Eg_print%20(%22%E6%88%BB%E3%81%A3%E3%81%9F%E3%80%81%E5%86%8D%E7%94%9F%E3%82%92%E5%81%9C%E6%AD%A2%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%5Cn%22)%3B%3CBR%20%2F%3Egst_element_set_state(%E3%83%91%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%B3%E3%80%81GST_STATE_NULL)%3B%3CBR%20%2F%3E%3CBR%20%2F%3Eg_print%20(%22%E3%83%91%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%B3%E3%82%92%E5%89%8A%E9%99%A4%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%5Cn%22)%3B%3CBR%20%2F%3Egst_object_unref(GST_OBJECT(%E3%83%91%E3%82%A4%E3%83%97%E3%83%A9%E3%82%A4%E3%83%B3))%3B%3CBR%20%2F%3E%3CBR%20%2F%3E0%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%7D%3C%2FVIDEO%3E%3C%2FP%3E%0A%0A%0A%0A%3C%2FBLOCKQUOTE%3E%3CP%3Eltib%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E5%86%85%E3%81%AB%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%81%A6%E3%80%81%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%24%20mkdir%20~%2FYour-ltib-dir%2Frpm%2FBUILD%2Fgst%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3ELTIB%20%E3%82%B7%E3%82%A7%E3%83%AB%E3%83%BB%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%E9%96%8B%E5%A7%8B%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%24%20.%2Fltib-M%E3%82%B7%E3%82%A7%E3%83%AB%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Eltib%E3%82%B7%E3%82%A7%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AB%E5%85%A5%E3%82%8B%E3%81%AB%E3%81%AF%E3%80%81%E3%80%8Cexit%E3%80%8D%E3%81%A8%E5%85%A5%E5%8A%9B%E3%81%97%E3%81%A6%E7%B5%82%E4%BA%86%E3%81%97%E3%81%BE%E3%81%99%3C%2FP%3E%3CP%3ELTIB%26gt%3B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%AB%E6%AC%A1%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E5%85%A5%E5%8A%9B%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3ELTIB%26gt%3B%20cd%20rpm%2FBUILD%2Fgst%2F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3ELTIB%26gt%3B%20gcc%20-Wall%20%24(pkg-config%20--cflags%20--libs%20gstreamer-0.10)%E3%83%97%E3%83%AC%E3%82%A4%E3%83%93%E3%83%87%E3%82%AA.c-o%E3%83%97%E3%83%AC%E3%82%A4%E3%83%93%E3%83%87%E3%82%AA%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%81%99%E3%81%B9%E3%81%A6%E3%81%8C%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%9F%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%A0%B4%E5%90%88%E3%80%81%20%22playvideo%22%E3%82%A2%E3%83%BC%E3%83%A0%E3%83%90%E3%82%A4%E3%83%8A%E3%83%AA%E3%81%8C%E5%BE%97%E3%82%89%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3ELTIB%26gt%3B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%ABplayvideo%3C%2FP%3E%3CP%3Eplayvideo%3A%20ELF%2032%20%E3%83%93%E3%83%83%E3%83%88%20LSB%20%E5%AE%9F%E8%A1%8C%E5%8F%AF%E8%83%BD%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%80%81ARM%E3%80%81%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%201%20(SYSV)%E3%80%81GNU%2FLinux%202.6.14%20%E7%94%A8%E3%80%81%E5%8B%95%E7%9A%84%E3%81%AB%E3%83%AA%E3%83%B3%E3%82%AF%20(%E5%85%B1%E6%9C%89%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%82%92%E4%BD%BF%E7%94%A8)%E3%80%81%E5%89%8A%E9%99%A4%E3%81%95%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%81%82%E3%81%A8%E3%81%AF%E3%80%81%E3%81%9D%E3%82%8C%E3%82%92%20~%2Fyour-ltib-dir%2Frootfs%2Fhome%20%E3%81%AB%E3%82%B3%E3%83%94%E3%83%BC%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%81%93%E3%81%AE%20rootfs%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%83%9C%E3%83%BC%E3%83%89%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%97%E3%80%81%E4%BB%A5%E4%B8%8B%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%BE%E3%81%99%3A%3C%2FP%3E%3CP%3Eroot%40freescale%20~%24%20cd%20%2Fhome%2F%3C%2FP%3E%3CP%3Eroot%40freescale%20%2Fhome%24%20.%2Fplayvideoyour-file-h264-mp3.avi%3C%2FP%3E%3CP%3E%E7%8F%BE%E5%9C%A8%E5%86%8D%E7%94%9F%E4%B8%AD%3A%20your-file-h264-mp3.avi%3C%2FP%3E%3CP%3E%E3%83%A9%E3%83%B3%E3%83%8B%E3%83%B3%E3%82%B0%E3%80%82%E3%80%82%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1104012%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%E3%82%A2%E3%83%97%E3%83%AA%E3%83%93%E3%83%87%E3%82%AA%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%83%9C%E3%83%BC%E3%83%89%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1104012%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3EHi%20Jesseg%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Emfw_mp3_encode%2F%E3%83%87%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%80%81%E3%81%9D%E3%82%8C%E3%82%89%E3%82%92ltib%E7%92%B0%E5%A2%83%E3%81%AB%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AF%E3%80%81imx27ads%E3%83%9C%E3%83%BC%E3%83%89%E3%81%A8BSP%20REL2%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E
評価なし
バージョン履歴
最終更新日:
‎08-06-2012 12:01 PM
更新者: