summaryrefslogtreecommitdiff
path: root/recording
diff options
context:
space:
mode:
authorKeuin <[email protected]>2022-09-08 13:27:37 +0800
committerKeuin <[email protected]>2022-09-08 13:27:37 +0800
commit177ecb3de2f9ca8e23c3eeb19b6875a0c6593355 (patch)
tree6a8d82c994317420f2294ac3678c497d596cc1fb /recording
parentea58d5d3c9f0d4534a9ffd028b9461a75922d54f (diff)
Support specify IP network type (ipv4, ipv6, in arbitrary combination and priority)
Diffstat (limited to 'recording')
-rw-r--r--recording/config.go8
-rw-r--r--recording/runner.go5
2 files changed, 9 insertions, 4 deletions
diff --git a/recording/config.go b/recording/config.go
index 6d8704b..c38d73f 100644
--- a/recording/config.go
+++ b/recording/config.go
@@ -1,6 +1,7 @@
package recording
import (
+ "bilibili-livestream-archiver/bilibili"
"bilibili-livestream-archiver/common"
"fmt"
)
@@ -13,9 +14,10 @@ type TaskConfig struct {
}
type TransportConfig struct {
- SocketTimeoutSeconds int `mapstructure:"socket_timeout_seconds"`
- RetryIntervalSeconds int `mapstructure:"retry_interval_seconds"`
- MaxRetryTimes int `mapstructure:"max_retry_times"`
+ SocketTimeoutSeconds int `mapstructure:"socket_timeout_seconds"`
+ RetryIntervalSeconds int `mapstructure:"retry_interval_seconds"`
+ MaxRetryTimes int `mapstructure:"max_retry_times"`
+ AllowedNetworkTypes []bilibili.IpNetType `mapstructure:"allowed_network_types"`
}
type DownloadConfig struct {
diff --git a/recording/runner.go b/recording/runner.go
index 4fd9b46..974fa0e 100644
--- a/recording/runner.go
+++ b/recording/runner.go
@@ -42,7 +42,9 @@ func RunTask(ctx context.Context, wg *sync.WaitGroup, task *TaskConfig) {
// doTask do the actual work, but returns synchronously.
func doTask(ctx context.Context, task *TaskConfig) error {
logger := log.Default()
- bi := bilibili.NewBilibili()
+ netTypes := task.Transport.AllowedNetworkTypes
+ logger.Printf("Network types: %v", netTypes)
+ bi := bilibili.NewBilibiliWithNetType(netTypes)
logger.Printf("Start task: room %v", task.RoomId)
authKey, url, err := getStreamingServer(task, logger, bi)
@@ -143,6 +145,7 @@ func record(
return
}
+ logger.Printf("INFO: Getting stream url...")
urlInfo, err := common.AutoRetry(
ctx,
func() (bilibili.RoomUrlInfoResponse, error) {