Neon http gstreamer plugin

  • Hello,


    i would like to stream from the net from my Dreambox 7025.
    I have seen in enigma2 source code the file servicemp3.cpp which has a basic framework for network streaming.


    However it use neonhttpsrc which is not bundled by default with dreambox 7025.
    I tried to compile neon lib (successful compiled wihout gnutls and expat library since gnutls has a problem in compiling), but i have problem in compiling neonhttpsrc, which is in an ext directory in gst-plugins-bad.


    I also tried to modify servicemp3.cpp to parse a string like :
    4097:0:0:0:0:0:0:0:0:0:@udp://0.0.0.0:1234


    using udpsrc for streaming which is bundled with dreambox image, but without any results, the output to console from enigma2 is :


    filename: @rtp, is_mpeg_ps: 0, is_mpeg_ts: 1, is_video: 1, is_streaming: 1
    STREAMING FROM THE NET
    LOCATION: udp://0.0.0.0:1234
    audio: 0x1089c038, queue_audio 0x1089e010, video 0x108a0028, queue_video 0x1089e108, mpegdemux 0x108a5000
    starting pipeline
    self.isSeekable True
    self.timeshift_enabled False
    timeshift activate: False
    RemovePopup, id = ZapError
    gst_message: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING
    gst_message: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING
    gst_message: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING
    gst_message: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING
    gst_message: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING
    gst_message: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING
    gst_message: GstMessageState, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PLAYING
    gst_message: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING
    gst_message: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING
    gst_message: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING
    gst_message: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING
    gst_message: GstMessageState, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_PLAYING
    gst_message: GstMessageNewClock, clock=(GstClock)(NULL)
    gst_message: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING
    gst_message: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING
    gst_message: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING
    gst_message: GstMessageState, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING


    and the modified code is


    /* configure source */
    if (is_streaming)
    {
    const char *location = "udp://0.0.0.0:1234";
    eDebug("LOCATION: %s", location);
    g_object_set (G_OBJECT (source), "uri", location, NULL);
    }
    else
    g_object_set (G_OBJECT (source), "location", filename, NULL);


    Does someone know how to effectively setup a pipeline for gstreamer to get input from the net ?


    Thank you very much for your support !!!