Sebastian Dröge
518d84c148
openh264dec: The codec can only do baseline so simplify the code a bit
...
and declare this also on the srcpad caps.
With baseline profile there are no B-frames or frame reordering.
2014-10-03 17:23:36 +03:00
Sebastian Dröge
bc8e1465dc
openh264dec: On ::finish() stop trying if the decoder returned that no output is available
2014-10-03 17:23:36 +03:00
Sebastian Dröge
088cf16bf9
openh264: Run gst-indent over everything
2014-10-03 17:23:36 +03:00
Sebastian Dröge
09f5b9acec
openh264: Remove unused codecparsers lib
2014-10-03 17:23:36 +03:00
Sebastian Dröge
68baaf19c3
openh264: Add FIXME comment about missing API in openh264
2014-10-03 17:23:36 +03:00
Sebastian Dröge
0e15f47bdf
openh264dec: Try to handle frame reordering
...
As openh264 has no way to attach any IDs to input frames that we then get on
the output frames, we have to assume that the input has valid PTS. We just
take the frame with the oldest PTS, and if there is no PTS information we take
the one with the oldest DTS.
2014-10-03 17:23:36 +03:00
Sebastian Dröge
8ae2af61ce
openh264dec: Don't drop videocodec frames if we can't decode them *yet*
...
Fixes jittery playback of streams with B frames.
2014-10-03 17:23:36 +03:00
Sebastian Dröge
1dfcdb9ce3
openh264dec: GstVideoDecoder works on frames, not sub-frames (e.g. NALs)
...
And we can just pass complete AUs to the decoder without problems.
2014-10-03 17:23:36 +03:00
Sebastian Dröge
1eb740a7c3
openh264dec: As we require NAL alignment from upstream we don't need to parse anything
2014-10-03 17:23:36 +03:00
Sebastian Dröge
0a31814ef3
openh264dec: Properly drain codec on ::finish()
2014-10-03 17:23:35 +03:00
Sebastian Dröge
10475b6793
openh264enc: Properly drain the encoder on ::finish()
2014-10-03 17:23:35 +03:00
Sebastian Dröge
8aedcc6bde
openh264enc: We always get a single frame as output, not a NAL
...
No need to accumulate NALs.
2014-10-03 17:23:35 +03:00
Sebastian Dröge
70d4e6b740
openh264enc: Fix up caps and stride handling
2014-10-03 17:23:35 +03:00
Sebastian Dröge
f3cabe3cc3
openh264enc: Add support for GstVideoMeta
...
This will allow upstream elements to work more efficiently.
2014-10-03 17:23:35 +03:00
Sebastian Dröge
2285cbaa45
openh264dec: Add support for GstVideoMeta
...
This will make operation with various sinks faster for free.
2014-10-03 17:23:35 +03:00
Sebastian Dröge
4475663569
openh264dec: Optimize frame copying a bit
2014-10-03 17:23:35 +03:00
Sebastian Dröge
4c5a504a7b
openh264dec: Don't forget to unref the input state
2014-10-03 17:23:35 +03:00
Sebastian Dröge
76b5c1c511
openh264dec: Fix various crashes on ::stop()
2014-10-03 17:23:35 +03:00
Sebastian Dröge
bc5c6a0fc9
openh264dec: Remove invalid sprops-parameter-set handling
...
This only exists on RTP caps, not H264 caps.
2014-10-03 17:23:35 +03:00
Sebastian Dröge
739a10d84e
openh264enc: Don't set caps manually
...
This will break the order of events in GStreamer.
2014-10-03 17:23:35 +03:00
Sebastian Dröge
18e7540263
openh264dec: Fix input state handling and propagation of upstream caps fields
2014-10-03 17:23:35 +03:00
Sebastian Dröge
cf4ec9b04e
openh264: Add OpenH264 based encoder/decoder elements
...
These are the openh264 elements released under the BSD-2 license
by Ericsson as part of the OpenWebRTC project.
https://github.com/EricssonResearch/openwebrtc-gst-plugins
https://bugzilla.gnome.org/show_bug.cgi?id=737788
2014-10-03 17:23:35 +03:00