Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop #1

Merged
merged 28 commits into from
Nov 6, 2018
Merged

Develop #1

merged 28 commits into from
Nov 6, 2018

Conversation

bblaszkow06
Copy link
Member

No description provided.

@bblaszkow06 bblaszkow06 force-pushed the develop branch 9 times, most recently from 01f71e0 to d2b3dee Compare October 4, 2018 13:58
H264 encoder requires time_base to be set
@bblaszkow06 bblaszkow06 changed the title WIP: Develop Develop Oct 19, 2018
lib/membrane_element_ffmpeg_h264/decoder.ex Outdated Show resolved Hide resolved
lib/membrane_element_ffmpeg_h264/encoder.ex Outdated Show resolved Hide resolved
lib/membrane_element_ffmpeg_h264/decoder.ex Outdated Show resolved Hide resolved
lib/membrane_element_ffmpeg_h264/decoder.ex Outdated Show resolved Hide resolved
lib/membrane_element_ffmpeg_h264/encoder.ex Outdated Show resolved Hide resolved
end

state = %{state | partial_frame: ""}
{{:ok, buffer: {:output, bufs}, event: {:output, %EndOfStream{}}}, state}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Notify the pipeline about the EoS

def handle_event(:input, %EndOfStream{}, _ctx, state) do
with {:ok, frames} <- Native.flush(state.encoder_ref),
bufs <- wrap_frames(frames) do
{{:ok, bufs ++ [event: {:output, %EndOfStream{}}]}, state}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Notify the pipeline about the EoS

lib/membrane_element_ffmpeg_h264/decoder.ex Outdated Show resolved Hide resolved
lib/membrane_element_ffmpeg_h264/encoder.ex Outdated Show resolved Hide resolved
lib/membrane_element_ffmpeg_h264/decoder.ex Outdated Show resolved Hide resolved
Membrane element that decodes video in H264 format. It is backed by decoder from FFmpeg.

The element expects the data for each frame (Access Unit) to be received in a separate buffer,
so the parser (`Membrane.Element.RawVideo.Parser`) may be required in a pipeline before
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rather H.264 parser

Membrane element that encodes raw video frames to H264 format.

The element expects each frame to be received in a separate buffer, so the parser
(`Membrane.Element.FFmpeg.H264.Parser`) may be required in a pipeline before
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rather raw parser

@@ -83,20 +97,20 @@ defmodule Membrane.Element.FFmpeg.H264.Encoder do
with {:ok, frames} <- Native.encode(payload, encoder_ref),
bufs <- wrap_frames(frames),
in_caps <- ctx.pads.input.caps do
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The two last clauses should be moved out of with

@bblaszkow06 bblaszkow06 merged commit c8c3c2a into master Nov 6, 2018
@bblaszkow06 bblaszkow06 deleted the develop branch November 6, 2018 08:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants