GNOME Bugzilla – Bug 119718
[rtpgsmparse] RTP stream from JMF crash
Last modified: 2005-10-08 06:48:27 UTC
$ gst-launch udpsrc port=2002 ! rtpgsmparse ! gsmdec ! osssink RUNNING pipeline Entity: line 1: error: Start tag expected, '<' not found ?? ^ Caught SIGSEGV accessing address 0xc
+ Trace 39538
Java code used: import java.io.*; import java.util.Vector; import javax.media.*; import javax.media.format.*; import javax.media.protocol.*; import javax.media.control.*; public class RTPServer implements ControllerListener { private boolean realized = false; private boolean configured = false; public static void main(String [] args) { new RTPServer(); } public RTPServer() { Processor p; String srcFile = "/home/ahacop/junk.wav"; // String destUrl = "rtp://224.144.251.104:49150/audio/1"; String destUrl = "rtp://192.168.0.9:2002/audio/1"; DataSink rtpSink; MediaLocator src = new MediaLocator("file:" + srcFile); MediaLocator dest = new MediaLocator(destUrl); // MediaLocator dest = new MediaLocator("rtpraw://"); try { p = Manager.createProcessor(src); p.addControllerListener(this); p.configure(); while (! configured) { try { Thread.currentThread().sleep(100L);; } catch (InterruptedException e) { // ignore } } TrackControl track[] = p.getTrackControls(); boolean encodingOk = false; p.setContentDescriptor(new ContentDescriptor(FileTypeDescriptor.RAW_RTP)); for (int i = 0; i < track.length; i++) { if (!encodingOk && track[i] instanceof FormatControl) { if (((FormatControl)track[i]). setFormat( new AudioFormat(AudioFormat.GSM_RTP, 8000, 8, 1)) == null) { track[i].setEnabled(false); } else { encodingOk = true; } } else { // we could not set this track to gsm, so disable it track[i].setEnabled(false); } } p.realize(); while (! realized) { try { Thread.currentThread().sleep(100L);; } catch (InterruptedException e) { // ignore } } DataSource output = p.getDataOutput(); rtpSink = Manager.createDataSink(output, dest); System.out.println("Sink content type: " + rtpSink.getContentType()); System.out.println("Sink media type: " + rtpSink.getOutputLocator().toString()); rtpSink.open(); rtpSink.start(); p.start(); } catch(Exception e) { e.printStackTrace(); System.exit(1); } } public synchronized void controllerUpdate(ControllerEvent evt) { if (evt instanceof RealizeCompleteEvent) { realized = true; } else if (evt instanceof ConfigureCompleteEvent) { configured = true; } else if (evt instanceof EndOfMediaEvent) { System.exit(0); } else { // System.out.println(evt.toString()); } } }
Created attachment 19146 [details] Java/JMF code used on server side
Note that the current RTP support is minimal. I am redoing RTP support completely.
ahcopian, I'm pretty sure that the error you're getting is from a different thread doing typefinding. Upgrading librsvg or removing the gdkpixbuf plugin and loader should help. can you test and confirm ?
I think this is 157543. Can you please see if this is still reproduceable?
*** This bug has been marked as a duplicate of 165170 ***
no answer for some time.. closing. Please reopen if you can replicate with 0.8 or 0.9! thanks