#52: Crash: #get_frame didn't change the buffer
-------------------------+--------------------------------------------------
Reporter: toots | Owner: toots
Type: Bugs | Status: assigned
Priority: 6 | Milestone:
Component: Liquidsoap | Version: 0.3.4
Resolution: | Keywords:
-------------------------+--------------------------------------------------
Comment (by mrpingouin):
I confirm that this is a meaningful fix. Here's a simple test:
{{{
src/liquidsoap -t 'out(smart_cross(
fun (va,vb,ma,mb,a,b) -> sequence([a,b]),
request.queue(id="q")
))'
}}}
Then do a "q.push say:Hello world" via telnet. Currently, it crashes. With
the patch that Romain proposes, it passes. The simpler way to write this
patch, by the way, is:
{{{
@@ -117,7 +117,8 @@
| `Limit ->
(* The track finished.
* We compute rms_after and launch the transition. *)
- self#analyze_after ;
+ if source#is_ready then self#analyze_after ;
}}}
The good thing is that I can now re-enable the assertion that I had to
comment out before. I tried to not launch a transition when there's
nothing after, but didn't have time to find a working solution. I think it
makes sense not to call the transition for just ending a track.
--
Ticket URL: <http://savonet.rastageeks.org/ticket/52#comment:13>
Savonet <http://savonet.rastageeks.org/>
Let's program our stream !