[gst-devel] Sink does not reach STATE_PLAYING
dischi at freevo.org
Tue Feb 13 22:02:59 CET 2007
Mark Nauwelaerts wrote:
>> I have the feeling that all this is totally random. It works in python
>> with some files, in C it does not work. I also had the effect that
>> adding a data probe callback made it stop working. In Python I can
>> connect the AAC encoder with matroskamux, using C I can't. Same
>> machine, same video files.
> The C code does not link the encoders to the muxer.
> There should be a
> gst_pad_link (srcpad, sinkpad);
> in both the audio and the video section. Adding that, the pipeline runs.
Arg, stupid bug. Thanks. I was so busy trying to find out how the C
API works and how to get the pads, I forgot to link them.
Now I get STATE_PLAYING but it stops. When doing no encode/decode
(copy the ts data to mkv) I get:
| WARN matroskamux matroska-mux.c:1721:gst_matroska_mux_write_data:<muxer:video_0> Invalid buffer timestamp; dropping buffer
And a little bit later everything stops. Or let me say blocks, I don't
get any more errors. When doing the recode it works for the file that
also works using my other script written in Python. A different file
starts the transcoding and stops some seconds later without any
warning. Using debug level 3 I see the GST_EVENT
gstevent.c:532:gst_event_new_new_segment_full about 20 times and
that's it. Any idea why this could happen?
> Doing a few tests (with my transcoding app, which builds a decodebin
> based pipeline pretty much as yours),
I tried decodebin in Python and it did not work. Using the
ffdemux_mpegts without the decodebin it worked better.
> I have not had any randomness, and pretty stable results (at least
> well exceeding 100kb) with dvb recorded input streams (using
> ffdemux_mpegts btw;
What is this app? Is it a small sample you can give me or a huge piece
of code or closed source?
> I had wrongly assumed before you were using flutsdemux).
I tried that, too and also had problems with it. I had good results
using the ffdemux_mpegts but when I tried more files it also
failed. Maybe I should start playing with decodebin or flutsdemux
again, but I'm not sure this would solve my problems.
"Programming today is a race between software engineers striving to build
bigger and better idiot-proof programs, and the Universe trying to produce
bigger and better idiots. So far, the Universe is winning." - Rich Cook
More information about the gstreamer-devel