feat: add a GStreamer runner to launch pipelines#323
Conversation
041723b to
a8c77d7
Compare
|
I would put the gstreamer cffi in |
The |
|
An important thing I'm seeing is that in l51 of pyproject.toml, it would be necessary to add
cc: @ylatuya |
| pipeline = self.gen_pipeline(input_filepath, output_filepath, output_format) | ||
| run_command(shlex.split(pipeline), timeout=timeout, verbose=verbose) | ||
| result = run_pipeline(pipeline, timeout=timeout, verbose=verbose) | ||
| if result.returncode != 0: |
| command.append("-m") | ||
| data = run_command_with_output(command, timeout=timeout, verbose=verbose).splitlines() | ||
| result = run_pipeline(pipeline, timeout=timeout, verbose=verbose, print_messages=True) | ||
| if result.returncode != 0: |
There was a problem hiding this comment.
What do you think about adding all the types to decode() and check() ?, currently ignore the structured exit codes:
if result.returncode == GstExitCode.TIMEOUT:
raise subprocess.TimeoutExpired(pipeline, timeout)
if result.returncode == GstExitCode.INIT_ERROR:
raise NotImplementedError(f"Pipeline not supported: {self.decoder_bin}")
if result.returncode != GstExitCode.SUCCESS:
Add a new GStreamer runner to launch pipelines that gives use more control in errors and allow us to differentiate for example between a pipelines miss-configuration or a format that's not supported.
|
Something to keep in mind... now that #319 uses exit code 69 for "not supported" (matching the Otherwise the |
Add a new GStreamer runner to launch pipelines that gives use more control in errors and allow us to differentiate for example between a pipelines miss-configuration or a format that's not supported.
This a first iteration in order to support #319