- let mut packetiser = (pcreate)();
- packetiser.add_data(&buf[..size]);
- let stream = packetiser.parse_stream(0).unwrap();
- packetiser.reset();
- DemuxerObject::RawStream(RawStreamCtx::new(stream, packetiser, br))
+ let rctx = SelfBorrow::new(brb, |br_| {
+ unsafe {
+ let mut packetiser = (pcreate)();
+ packetiser.add_data(&buf[..size]);
+ let stream = packetiser.parse_stream(0).unwrap();
+ packetiser.reset();
+ RawStreamCtx::new(stream, packetiser, br_.as_mut().unwrap().get_object_mut())
+ }
+ });
+ DemuxerObject::RawStream(rctx)