Solved

JMF: NoProcessorFoundError

Posted on 2008-06-21
9
2,548 Views
Last Modified: 2013-11-23
Hi experts,
I am facing a problem with jmf merger datasource
The code works fine for recording audio and converting jpg images to .mov but when i try to create a merger datasink to integrate sound with the images, it gives the exception NoProcessorFound
where am i doing it wrong?
here is the code snipplet.


ds[0]=p.getDataOutput(); /// audio Data source

 ds[1] = processor.getDataOutput();  //video data source

 try{    

  dsd = Manager.createMergingDataSource(ds);

  System.out.println(dsd);

  merger=Manager.createProcessor(dsd);//-> this is where exception occur

    }

Open in new window

0
Comment
Question by:sameerz786
9 Comments
 
LVL 7

Expert Comment

by:humanonomics
Comment Utility
2 things,1) whats the value of dsd at the line number 5 ?
2) can you print the stack trace in here as well ?
0
 
LVL 86

Expert Comment

by:CEHJ
Comment Utility
It's conceivable that type of data source is not supported by your current software:

"NoProcessorException - Thrown if a Processor can't be created"
0
 

Author Comment

by:sameerz786
Comment Utility

stack trace is:
javax.media.NoProcessorException: Cannot find a Processor for: com.ibm.media.protocol.MergingPushDataSource@1decdec
        at javax.media.Manager.createProcessorForSource(Manager.java:1766)\par
        at javax.media.Manager.createProcessor(Manager.java:666)\par
        at JpegImagesToMovie.doIt(JpegImagesToMovie.java:154)\par
        at JpegImagesToMovie.main(JpegImagesToMovie.java:412)\par

 the value of dsd at line  4 is:
com.ibm.media.protocol.MergingPushDataSource@1decdec

Is there a way to integrate sound and images into a movie using jmf?
i.e sound from mic and images from a buffer?
0
Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

 
LVL 92

Accepted Solution

by:
objects earned 500 total points
Comment Utility


Why exactly are you creating a Processor like that?
See the following example

http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/solutions/Merge.java

Otherwise you may be better off looking at using QuickTime

http://developer.apple.com/quicktime/qtjava/
0
 

Author Comment

by:sameerz786
Comment Utility
I tried the Example with
  String [] args1=new String []{"Sunset.jpg","Water.jpg"};
 String [] args1=new String []{"z.avi","test.avi"};
 String [] args1=new String []{"z.avi","test.wav"};
 String [] args1=new String []{"z.mov","test.avi"};

all the trials gave error

Failed to create a processor: javax.media.NoProcessorException: Cannot find a Processor for: Sunset.jpg or z.mov or z.avi
Java Result: -1

0
 

Author Comment

by:sameerz786
Comment Utility
thanx all for trying to help i got the error
the media file about to be merged must be in raw format with extension(.vox,.gsm etc)
0
 
LVL 92

Expert Comment

by:objects
Comment Utility
The example I posted works fine here.
QT would also work.
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

Suggested Solutions

Are you developing a Java application and want to create Excel Spreadsheets? You have come to the right place, this article will describe how you can create Excel Spreadsheets from a Java Application. For the purposes of this article, I will be u…
Introduction Java can be integrated with native programs using an interface called JNI(Java Native Interface). Native programs are programs which can directly run on the processor. JNI is simply a naming and calling convention so that the JVM (Java…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now