mirror of
https://github.com/go-gst/go-gst.git
synced 2025-09-27 12:22:14 +08:00
prepare for v1.0.0
This commit is contained in:
19
.github/workflows/build.yml
vendored
19
.github/workflows/build.yml
vendored
@@ -12,22 +12,23 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, windows-latest, "macos-latest"]
|
os:
|
||||||
|
- ubuntu-latest
|
||||||
|
# - windows-latest # see https://github.com/go-gst/go-gst/issues/64
|
||||||
|
- macos-latest
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Downgrade mingw to 11.2.0
|
# - name: Downgrade mingw to 11.2.0
|
||||||
if: runner.os == 'Windows'
|
# if: runner.os == 'Windows'
|
||||||
run: choco install mingw --version 11.2.0 --allow-downgrade
|
# run: choco install mingw --version 11.2.0 --allow-downgrade
|
||||||
- name: Setup GStreamer
|
- name: Setup GStreamer
|
||||||
id: setup_gstreamer
|
id: setup_gstreamer
|
||||||
uses: RSWilli/setup-gstreamer@5472e33168ba7b1f3bb01dc81ca067e263633824
|
uses: blinemedical/setup-gstreamer@v1.4.0
|
||||||
with:
|
|
||||||
version: 1.22.6
|
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
- uses: actions/setup-go@v4
|
- uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: "^1.21.0"
|
go-version: "stable"
|
||||||
- name: build
|
- name: build
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
|
7
.github/workflows/tests.yml
vendored
7
.github/workflows/tests.yml
vendored
@@ -12,14 +12,12 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Setup GStreamer
|
- name: Setup GStreamer
|
||||||
id: setup_gstreamer
|
id: setup_gstreamer
|
||||||
uses: RSWilli/setup-gstreamer@5472e33168ba7b1f3bb01dc81ca067e263633824
|
uses: blinemedical/setup-gstreamer@v1.4.0
|
||||||
with:
|
|
||||||
version: 1.22.6
|
|
||||||
- name: Check out code into the Go module directory
|
- name: Check out code into the Go module directory
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
- uses: actions/setup-go@v4
|
- uses: actions/setup-go@v4
|
||||||
with:
|
with:
|
||||||
go-version: "^1.21.0"
|
go-version: "stable"
|
||||||
- name: Check formatting
|
- name: Check formatting
|
||||||
uses: Jerome1337/gofmt-action@v1.0.5
|
uses: Jerome1337/gofmt-action@v1.0.5
|
||||||
with:
|
with:
|
||||||
@@ -33,4 +31,3 @@ jobs:
|
|||||||
- uses: dominikh/staticcheck-action@v1.3.0
|
- uses: dominikh/staticcheck-action@v1.3.0
|
||||||
with:
|
with:
|
||||||
install-go: false
|
install-go: false
|
||||||
min-go-version: "1.21"
|
|
||||||
|
40
Makefile
40
Makefile
@@ -1,40 +0,0 @@
|
|||||||
GO_VERSION ?= 1.15
|
|
||||||
DOCKER_IMAGE ?= ghcr.io/tinyzimmer/go-gst:$(GO_VERSION)
|
|
||||||
|
|
||||||
GOPATH ?= $(shell go env GOPATH)
|
|
||||||
GOBIN ?= $(GOPATH)/bin
|
|
||||||
GOLANGCI_VERSION ?= v1.33.0
|
|
||||||
GOLANGCI_LINT ?= $(GOBIN)/golangci-lint
|
|
||||||
|
|
||||||
PLUGIN_GEN ?= "$(shell go env GOPATH)/bin/gst-plugin-gen"
|
|
||||||
|
|
||||||
$(GOLANGCI_LINT):
|
|
||||||
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(GOBIN) $(GOLANGCI_VERSION)
|
|
||||||
|
|
||||||
lint: $(GOLANGCI_LINT)
|
|
||||||
$(GOLANGCI_LINT) run -v
|
|
||||||
|
|
||||||
docker-build:
|
|
||||||
docker build . \
|
|
||||||
-f .github/Dockerfile \
|
|
||||||
--build-arg GO_VERSION=$(GO_VERSION) \
|
|
||||||
-t $(DOCKER_IMAGE)
|
|
||||||
|
|
||||||
CMD ?= /bin/bash
|
|
||||||
docker-run: docker-build
|
|
||||||
docker run --rm --privileged \
|
|
||||||
-v /lib/modules:/lib/modules:ro \
|
|
||||||
-v /sys:/sys:ro \
|
|
||||||
-v /usr/src:/usr/src:ro \
|
|
||||||
-v "$(PWD)":/workspace \
|
|
||||||
-w /workspace \
|
|
||||||
-e HOME=/tmp \
|
|
||||||
$(DOCKER_IMAGE) $(CMD)
|
|
||||||
|
|
||||||
docker-lint:
|
|
||||||
$(MAKE) docker-run CMD="make lint"
|
|
||||||
|
|
||||||
$(PLUGIN_GEN):
|
|
||||||
cd cmd/gst-plugin-gen && go build -o $(PLUGIN_GEN) .
|
|
||||||
|
|
||||||
install-plugin-gen: $(PLUGIN_GEN)
|
|
@@ -8,9 +8,7 @@
|
|||||||
|
|
||||||
See [pkg.go.dev](https://pkg.go.dev/github.com/go-gst/go-gst) references for documentation and examples.
|
See [pkg.go.dev](https://pkg.go.dev/github.com/go-gst/go-gst) references for documentation and examples.
|
||||||
|
|
||||||
**This library has not been thoroughly tested and as such is not recommended for mission critical applications yet. If you'd like to try it out and encounter any bugs, feel free to open an Issue or PR. For more information see the [Contributing](#contributing) section.**
|
Please make sure that you have followed the [official gstreamer installation instructions](https://gstreamer.freedesktop.org/documentation/installing/index.html?gi-language=c) before attempting to use the bindings or file an issue.
|
||||||
|
|
||||||
Recently almost all memory handling has been moved into the bindings. Some documentation may still reflect the original need to Unref resources, but in most situations that is not the case anymore.
|
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
@@ -25,6 +23,8 @@ For building applications with this library you need the following:
|
|||||||
|
|
||||||
### Windows
|
### Windows
|
||||||
|
|
||||||
|
(also see https://github.com/go-gst/go-gst/issues/64)
|
||||||
|
|
||||||
Compiling on Windows may require some more dancing around than on macOS or Linux.
|
Compiling on Windows may require some more dancing around than on macOS or Linux.
|
||||||
First, make sure you have [mingw](https://chocolatey.org/packages/mingw) and [pkgconfig](https://chocolatey.org/packages/pkgconfiglite) installed (links are for the Chocolatey packages).
|
First, make sure you have [mingw](https://chocolatey.org/packages/mingw) and [pkgconfig](https://chocolatey.org/packages/pkgconfiglite) installed (links are for the Chocolatey packages).
|
||||||
Next, go to the [GStreamer downloads](https://gstreamer.freedesktop.org/download/) page and download the latest "development installer" for your MinGW architecture.
|
Next, go to the [GStreamer downloads](https://gstreamer.freedesktop.org/download/) page and download the latest "development installer" for your MinGW architecture.
|
||||||
|
Reference in New Issue
Block a user